<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Etfsibg</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Etfsibg"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/Etfsibg"/>
	<updated>2026-06-04T09:50:47Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9A%D0%94%D0%9F&amp;diff=8368</id>
		<title>КДП</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9A%D0%94%D0%9F&amp;diff=8368"/>
		<updated>2026-05-06T18:35:40Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Корисне везе */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Предмет&lt;br /&gt;
| назив     = Конкурентно и дистрибуирано програмирање&lt;br /&gt;
| шифра     = 13С113КДП, 13Е113КДП&lt;br /&gt;
| семестар  = 6 (СИ), 5 (РТИ)&lt;br /&gt;
| статус    = обавезни&lt;br /&gt;
| страница  = [https://rti.etf.bg.ac.rs/rti/ir3kdp/ rti.etf.rs/rti/ir3kdp]&lt;br /&gt;
| одсек     = СИ, РТИ&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Конкурентно и дистрибуирано програмирање&#039;&#039;&#039; је обавезан предмет у шестом семестру за СИ, а петом семестру за РТИ. Сваки као што је примио благодатни дар, њиме служите једни другима, као добри управитељи разноврсне благодати Божије.&lt;br /&gt;
&lt;br /&gt;
== Корисне везе ==&lt;br /&gt;
* [https://drive.google.com/open?id=1QmIZUSBKN0HFOy1OKWm5GJUn1e7BCkPG ETF SI] (решења, лабови, наставни материјали)&lt;br /&gt;
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/11532517441 ETF Materijali (Box)] (исправке књиге, лабови)&lt;br /&gt;
* [https://github.com/PavleSarenac/bachelor-of-science-studies/tree/main/courses/concurrent-and-distributed-programming/notes-and-labs Beleske] (све са презентација, само много детаљније објашњено)&lt;br /&gt;
&lt;br /&gt;
== Настава ==&lt;br /&gt;
Настава се одржава у три блока (подељено по колоквијумима):&lt;br /&gt;
* &#039;&#039;&#039;Први блок:&#039;&#039;&#039; синхронизациони алгоритми (само на предавањима), семафори&lt;br /&gt;
* &#039;&#039;&#039;Други блок:&#039;&#039;&#039; региони, монитори, конкурентно програмирање у програмском језику Јава (само на вежбама)&lt;br /&gt;
* &#039;&#039;&#039;Трећи блок:&#039;&#039;&#039; дистрибуирано програмирање, мрежно програмирање у програмском језику Јава (само на вежбама)&lt;br /&gt;
Вежбе првих пар недеља могу да не буду одржане како би се на предавањима довољно напредовало са градивом, док се на предавањима држе четири уместо два часа недељно. Презентације са предавања и вежби могу се наћи на страници предмета, у одељку Литература.&lt;br /&gt;
&lt;br /&gt;
На РТИ одсеку градиво се дели на конкурентно (синхронизациони алгоритми, семафори, региони, монитори) и дистрибуирано програмирање, где конкурентно долази на колоквијуму а дистрибуирано на испиту. Из овог разлога се након јунског испитног рока (на СИ) области деле на два уместо на три дела (рокови су исти и за СИ и за РТИ).&lt;br /&gt;
&lt;br /&gt;
За припремање колоквијума од посебне користи може бити књига &#039;&#039;The little books of semaphores&#039;&#039; која се може наћи на драјву у секцији &#039;&#039;Корисне везе&#039;&#039;. Проблеми одадве често долазе када наставници желе да дају нешто ново, па није лоше видети идеје одатле.&lt;br /&gt;
&lt;br /&gt;
== Лабораторијске вежбе ==&lt;br /&gt;
Лабораторијске вежбе се обично одрже у трећем блоку предавања. Раде се у програмском језику Јава. На првој лабораторијској вежби ради се конкурентно, док се на другој ради дистрибуирано програмирање. Од развојних окружења на лабораторијској вежби су доступни &#039;&#039;Eclipse&#039;&#039; и &#039;&#039;IntelliJ&#039;&#039;, док се на вежбама углавном користи &#039;&#039;Eclipse&#039;&#039;. Вежбе у другом и трећем блоку се делом баве областима које дођу на лабораторијској вежби, док се такође организују и показне лабораторијске вежбе. На првој показној лабораторијској вежби ради се један [https://rti.etf.bg.ac.rs/rti/ir3kdp/laboratorija/_arhiva/KDP_2011_1.pdf задатак из 2011. године] чија поставка није директно доступна са странице предмета.&lt;br /&gt;
&lt;br /&gt;
За припрему за лабораторијске вежбе, поред гледања вежби и показних лабораторијских вежби, доступни су и пробни задатаци за лабораторијску вежбу са странице предмета који немају решења (често слични задаци дођу и на лабораторијској вежби). Поред тога, на викију су сакупљени следећи задаци са претходних лабораторијских вежби:&lt;br /&gt;
{{#dpl:&lt;br /&gt;
| category    = КДП&lt;br /&gt;
| category    = Лабораторијске вежбе&lt;br /&gt;
| format      = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],,&lt;br /&gt;
| ordermethod = title&lt;br /&gt;
}}&lt;br /&gt;
Лабораторијске вежбе носе 20 бодова на предмету, свака по 10 бодова. Од школске 2023/2024 ради се мудл тест који вреди 3 поена, и једноставнији задатак који вреди 7 поена и не укључује рад са фајловима. Уколико се ради и пројекат, гледа се бољи резултат. Могуће је надокнадити једну лабораторијску вежбу у првом испитном року.&lt;br /&gt;
&lt;br /&gt;
== Пројекат ==&lt;br /&gt;
Уместо лабораторијских вежби може да се ради пројекат, који исто носи 20 бодова. Може да се мења на свака два рока, тако да у јануару и фебруару буде један пројекат, у јуну и јулу други а у августу и септембру трећи.&lt;br /&gt;
&lt;br /&gt;
Додатне информације везане за пројекат се налазе у [[КДП/Пројекат|водичу]].&lt;br /&gt;
&lt;br /&gt;
== Испитни рокови ==&lt;br /&gt;
Поставке испитних рокова су доступне на страници предмета, док се њихова решења могу наћи на неком од драјвова из [[#Корисне везе|одељка са корисним везама]]. Следећи рокови су скупљени на викију:&lt;br /&gt;
{{#dpl:&lt;br /&gt;
| category    = КДП&lt;br /&gt;
| category    = Рокови&lt;br /&gt;
| format      = ,\n* &amp;lt;span class=&amp;quot;rok,&amp;quot;&amp;gt;[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]]&amp;lt;/span&amp;gt;,&lt;br /&gt;
| ordermethod = title&lt;br /&gt;
| include     = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Категорије задатака ===&lt;br /&gt;
Овде су излистани различите категорије задатака које могу да дођу на испитима. Одласком на страницу категорије можете видети све задатке тог типа који су решени (или барем преписани) на викију. Уколико желите да уређујете решења, то је потребно радити преко страница рокова излистаних изнад.&lt;br /&gt;
&lt;br /&gt;
==== Конкуретно програмирање ====&lt;br /&gt;
* [[КДП/Монитори|Монитори]]&lt;br /&gt;
* [[КДП/Региони|Региони]]&lt;br /&gt;
* [[КДП/Семафори|Семафори]]&lt;br /&gt;
* [[КДП/Синхронизациони алгоритми|Синхронизациони алгоритми]]&lt;br /&gt;
* [[КДП/Штафетна палица|Штафетна палица]]&lt;br /&gt;
&lt;br /&gt;
==== Дистрибуирано програмирање ====&lt;br /&gt;
* [[КДП/Активни монитори|Активни монитори]]&lt;br /&gt;
* [[КДП/CSP|CSP]]&lt;br /&gt;
* [[КДП/C-Linda|C-Linda]]&lt;br /&gt;
* [[КДП/Прстен|Прстен]]&lt;br /&gt;
* [[КДП/Размена порука|Размена порука (канали: send/receive)]]&lt;br /&gt;
* [[КДП/Рандеву|Рандеву]]&lt;br /&gt;
* [[КДП/RPC|RPC]]&lt;br /&gt;
* [[КДП/Сандучићи|Сандучићи (msg_box)]]&lt;br /&gt;
* [[КДП/Филтерски процеси|Филтерски процеси]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
Доступан је уџбеник из предмета од 2018. године:&lt;br /&gt;
* &#039;&#039;&#039;[https://akademska-misao.rs/product/konkurentno-i-distribuirano-programiranje-drugo-izdanje/ Конкурентно и дистрибуирано програмирање]&#039;&#039;&#039;, друго издање, З.Радивојевић, И.Икодиновић, З.Јовановић, &#039;&#039;Издавач: Академска мисао, Београд&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Начин оцењивања ==&lt;br /&gt;
=== СИ ===&lt;br /&gt;
; Предиспитне обавезе&lt;br /&gt;
* &amp;lt;math&amp;gt;L_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;L_2&amp;lt;/math&amp;gt; — Бодови са прве и друге лабораторијске вежбе (0-10 свака, могућа надокнада једне вежбе)&lt;br /&gt;
* &amp;lt;math&amp;gt;Pr&amp;lt;/math&amp;gt; — Бодови са пројекта (0-20)&lt;br /&gt;
* &amp;lt;math&amp;gt;K_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;K_2&amp;lt;/math&amp;gt; — Бодови са првог и другог колоквијума (0-25 сваки, могућа надокнада у јунском року)&lt;br /&gt;
; Јунски рок&lt;br /&gt;
* &amp;lt;math&amp;gt;K_3&amp;lt;/math&amp;gt; — бодови са трећег колоквијума (испитни део градива, дистрибуирано програмирање) у јунском року (0-30)&lt;br /&gt;
* &#039;&#039;&#039;Укупни бодови:&#039;&#039;&#039; &amp;lt;math&amp;gt;P = K_1 + K_2 + K_3 + max(L_1 + L_2, Pr)&amp;lt;/math&amp;gt;&lt;br /&gt;
; Остали рокови&lt;br /&gt;
* &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; — бодови са конкурентног дела испита (0-40), уколико се конкурентни део испита не ради онда је &amp;lt;math&amp;gt;K = (K_1 + K_2) \cdot 0.8&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; — бодови са дистрибуираног дела испита (0-40)&lt;br /&gt;
* &#039;&#039;&#039;Укупни бодови:&#039;&#039;&#039; &amp;lt;math&amp;gt;P = K + D + max(L_1 + L_2, Pr)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== РТИ ===&lt;br /&gt;
; Предиспитне обавезе&lt;br /&gt;
* &amp;lt;math&amp;gt;L_1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;L_2&amp;lt;/math&amp;gt; — Бодови са прве и друге лабораторијске вежбе (0-10 свака, могућа надокнада једне вежбе у јануарском року)&lt;br /&gt;
* &amp;lt;math&amp;gt;Pr&amp;lt;/math&amp;gt; — Бодови са пројекта (0-20)&lt;br /&gt;
* &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; — Бодови са колоквијума (0-40, могућа надокнада у сваком року)&lt;br /&gt;
; Испитни рокови&lt;br /&gt;
* &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; — бодови са конкурентног дела испита (0-40), уколико се не ради овај део испита, важе поени са последњег изласка&lt;br /&gt;
* &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; — бодови са дистрибуираног дела испита (0-40)&lt;br /&gt;
* &#039;&#039;&#039;Укупни бодови:&#039;&#039;&#039; &amp;lt;math&amp;gt;P = K + D + max(L_1 + L_2, Pr)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Бодови&lt;br /&gt;
| &amp;lt;math&amp;gt;P \leq 50&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;50 &amp;lt; P \leq 60&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;60 &amp;lt; P \leq 70&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;70 &amp;lt; P \leq 80&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;80 &amp;lt; P \leq 90&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;90 &amp;lt; P&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Оцена&lt;br /&gt;
| 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Потребна помоћ ==&lt;br /&gt;
* {{zadaci|rešenja}}&lt;br /&gt;
*: Рокови којима недостаје понеко решење су: {{rokovi|делимично решени}}&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A1_2017&amp;diff=8064</id>
		<title>Програмски преводиоци 1/К1 2017</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A1_2017&amp;diff=8064"/>
		<updated>2025-09-25T13:51:37Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Prvi kolokvijum 2017. godine&#039;&#039;&#039; održan je 28. oktobra i trajao je dva sata. Radna verzija postavke roka je [http://ir4pp1.etf.rs/Rokovi/2017-2018/si4pp1-1718-k1k2.zip dostupna sa stranice predmeta] (arhiva).&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Projektovati potisni automat koji prepoznaje sledeći skup sekvenci: &amp;lt;math&amp;gt;\left\{a^k b^m c^{k-1}\right\} k &amp;gt; 0, m \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Iz zadatog skupa izabrati jednu sekvencu dužine veće od tri i prikazati proces njenog prepoznavanja.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Prvo stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! ∇&lt;br /&gt;
|&lt;br /&gt;
* PUSH(A)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
|&lt;br /&gt;
* PUSH(B)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S2)&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
|&lt;br /&gt;
* PUSH(B)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S2)&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S3)&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Drugo stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| REJECT&lt;br /&gt;
| ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| REJECT&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S3)&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Treće stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
Rad ovog automata možemo prikazati na sekvenci &#039;&#039;&#039;aabbbc&#039;&#039;&#039;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Stek&lt;br /&gt;
! Sekvenca&lt;br /&gt;
! Stanje&lt;br /&gt;
! Operacije&lt;br /&gt;
|-&lt;br /&gt;
| ∇&lt;br /&gt;
| aabbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| PUSH(A), ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇A&lt;br /&gt;
| abbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| PUSH(B), ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| ADVANCE, STATE(S2)&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bbc─┤&lt;br /&gt;
| 2&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bc─┤&lt;br /&gt;
| 2&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| c─┤&lt;br /&gt;
| 2&lt;br /&gt;
| RETAIN, STATE(S3)&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| c─┤&lt;br /&gt;
| 3&lt;br /&gt;
| POP, ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇A&lt;br /&gt;
| ─┤&lt;br /&gt;
| 3&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 2 postavka.svg|thumb|Stablo iz postavke drugog zadatka.]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Direktno na zadatom sintaksnom stablu jednog regularnog izraza naznačiti poništivost, i funkcije prva i poslednja pozicija.&lt;br /&gt;
# Nacrtati tabelu sa vrednostima funkcije sledeća pozicija.&lt;br /&gt;
# Na osnovu zadatog stabla i rezultata pod a) odrediti konačni automat. Obavezno navesti postupak. Nije potrebna minimizacija.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 2 rešenje.svg|thumb|Stablo iz rešenja drugog zadatka.]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Tabela sledećih pozicija&lt;br /&gt;
! Pozicija&lt;br /&gt;
! Sledeća pozicija&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
| 7, 8&lt;br /&gt;
|-&lt;br /&gt;
! 7&lt;br /&gt;
| 7, 8&lt;br /&gt;
|-&lt;br /&gt;
! 8&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak pretvaranja sintaksnog stabla u deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! 1, 2, 3&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 7, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 7, 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 7, 8&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| B&lt;br /&gt;
| B&lt;br /&gt;
| C&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| C&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! C&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| C&lt;br /&gt;
| D&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! D&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 3 postavka.svg|thumb|Nedeterministički konačni automat iz postavke trećeg zadatka pod b.]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Da li su dati automati ekvivalentni? Obavezno prikazati postupak.&lt;br /&gt;
# Konvertovati zadati nedeterministički automat u deterministički. Obavezno prikazati postupak. Nije potrebna minimizacija.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Prvi automat iz postavke trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → Ax&lt;br /&gt;
| Ax&lt;br /&gt;
| Ax&lt;br /&gt;
| Bx&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! Bx&lt;br /&gt;
| Bx&lt;br /&gt;
| Ax&lt;br /&gt;
| Bx&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Drugi automat iz postavke trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → Az&lt;br /&gt;
| Cz&lt;br /&gt;
| Az&lt;br /&gt;
| Bz&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! Bz&lt;br /&gt;
| Bz&lt;br /&gt;
| Az&lt;br /&gt;
| Az&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! Cz&lt;br /&gt;
| Cz&lt;br /&gt;
| Az&lt;br /&gt;
| Bz&lt;br /&gt;
| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak provere ekvivalencije automata iz trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
|-&lt;br /&gt;
! Ax, Az&lt;br /&gt;
| Ax, Cz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
|-&lt;br /&gt;
! Ax, Cz&lt;br /&gt;
| Ax, Cz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
|-&lt;br /&gt;
! Bx, Bz&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| &#039;&#039;&#039;Bx, Az&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
Zbog toga što stanja Bx i Az nisu kompatibilna, ova dva automata &#039;&#039;&#039;nisu ekvivalentna&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak pretvaranja nedeterminističkog konačnog automata u deterministički&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → 1, 2, 4, 7, 8, 9&lt;br /&gt;
| 3, 8, 9&lt;br /&gt;
| 5, 8, 9&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 3, 8, 9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 5, 8, 9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
| 13, 14&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! 13, 14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → A&lt;br /&gt;
| B&lt;br /&gt;
| C&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! C&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! D&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
| E&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| F&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! F&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| F&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
?????&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
?????&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Програмски преводиоци 1]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A1_2017&amp;diff=8063</id>
		<title>Програмски преводиоци 1/К1 2017</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A1_2017&amp;diff=8063"/>
		<updated>2025-09-25T13:51:07Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Prvi kolokvijum 2017. godine&#039;&#039;&#039; održan je 28. oktobra i trajao je dva sata. Radna verzija postavke roka je [http://ir4pp1.etf.rs/Rokovi/2017-2018/si4pp1-1718-k1k2.zip dostupna sa stranice predmeta] (arhiva).&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Projektovati potisni automat koji prepoznaje sledeći skup sekvenci: &amp;lt;math&amp;gt;\left\{a^k b^m c^{k-1}\right\} k &amp;gt; 0, m \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Iz zadatog skupa izabrati jednu sekvencu dužine veće od tri i prikazati proces njenog prepoznavanja.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Prvo stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! ∇&lt;br /&gt;
|&lt;br /&gt;
* PUSH(A)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
|&lt;br /&gt;
* PUSH(B)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S2)&lt;br /&gt;
|&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
|&lt;br /&gt;
* PUSH(B)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S2)&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S3)&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Drugo stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| REJECT&lt;br /&gt;
| ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| REJECT&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S3)&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Treće stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
Rad ovog automata možemo prikazati na sekvenci &#039;&#039;&#039;aabbbc&#039;&#039;&#039;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Stek&lt;br /&gt;
! Sekvenca&lt;br /&gt;
! Stanje&lt;br /&gt;
! Operacije&lt;br /&gt;
|-&lt;br /&gt;
| ∇&lt;br /&gt;
| aabbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| PUSH(A), ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇A&lt;br /&gt;
| abbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| PUSH(B), ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| ADVANCE, STATE(S2)&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bbc─┤&lt;br /&gt;
| 2&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bc─┤&lt;br /&gt;
| 2&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| c─┤&lt;br /&gt;
| 2&lt;br /&gt;
| RETAIN, STATE(S3)&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| c─┤&lt;br /&gt;
| 3&lt;br /&gt;
| POP, ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇A&lt;br /&gt;
| ─┤&lt;br /&gt;
| 3&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 2 postavka.svg|thumb|Stablo iz postavke drugog zadatka.]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Direktno na zadatom sintaksnom stablu jednog regularnog izraza naznačiti poništivost, i funkcije prva i poslednja pozicija.&lt;br /&gt;
# Nacrtati tabelu sa vrednostima funkcije sledeća pozicija.&lt;br /&gt;
# Na osnovu zadatog stabla i rezultata pod a) odrediti konačni automat. Obavezno navesti postupak. Nije potrebna minimizacija.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 2 rešenje.svg|thumb|Stablo iz rešenja drugog zadatka.]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Tabela sledećih pozicija&lt;br /&gt;
! Pozicija&lt;br /&gt;
! Sledeća pozicija&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
| 7, 8&lt;br /&gt;
|-&lt;br /&gt;
! 7&lt;br /&gt;
| 7, 8&lt;br /&gt;
|-&lt;br /&gt;
! 8&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak pretvaranja sintaksnog stabla u deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! 1, 2, 3&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 7, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 7, 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 7, 8&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| B&lt;br /&gt;
| B&lt;br /&gt;
| C&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| C&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! C&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| C&lt;br /&gt;
| D&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! D&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 3 postavka.svg|thumb|Nedeterministički konačni automat iz postavke trećeg zadatka pod b.]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Da li su dati automati ekvivalentni? Obavezno prikazati postupak.&lt;br /&gt;
# Konvertovati zadati nedeterministički automat u deterministički. Obavezno prikazati postupak. Nije potrebna minimizacija.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Prvi automat iz postavke trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → Ax&lt;br /&gt;
| Ax&lt;br /&gt;
| Ax&lt;br /&gt;
| Bx&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! Bx&lt;br /&gt;
| Bx&lt;br /&gt;
| Ax&lt;br /&gt;
| Bx&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Drugi automat iz postavke trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → Az&lt;br /&gt;
| Cz&lt;br /&gt;
| Az&lt;br /&gt;
| Bz&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! Bz&lt;br /&gt;
| Bz&lt;br /&gt;
| Az&lt;br /&gt;
| Az&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! Cz&lt;br /&gt;
| Cz&lt;br /&gt;
| Az&lt;br /&gt;
| Bz&lt;br /&gt;
| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak provere ekvivalencije automata iz trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
|-&lt;br /&gt;
! Ax, Az&lt;br /&gt;
| Ax, Cz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
|-&lt;br /&gt;
! Ax, Cz&lt;br /&gt;
| Ax, Cz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
|-&lt;br /&gt;
! Bx, Bz&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| &#039;&#039;&#039;Bx, Az&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
Zbog toga što stanja Bx i Az nisu kompatibilna, ova dva automata &#039;&#039;&#039;nisu ekvivalentna&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak pretvaranja nedeterminističkog konačnog automata u deterministički&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → 1, 2, 4, 7, 8, 9&lt;br /&gt;
| 3, 8, 9&lt;br /&gt;
| 5, 8, 9&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 3, 8, 9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 5, 8, 9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
| 13, 14&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! 13, 14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → A&lt;br /&gt;
| B&lt;br /&gt;
| C&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! C&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! D&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
| E&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| F&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! F&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| F&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
?????&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
?????&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Програмски преводиоци 1]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A1_2017&amp;diff=8062</id>
		<title>Програмски преводиоци 1/К1 2017</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D0%BF%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D0%B8%D0%BE%D1%86%D0%B8_1/%D0%9A1_2017&amp;diff=8062"/>
		<updated>2025-09-25T13:48:51Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Prvi kolokvijum 2017. godine&#039;&#039;&#039; održan je 28. oktobra i trajao je dva sata. Radna verzija postavke roka je [http://ir4pp1.etf.rs/Rokovi/2017-2018/si4pp1-1718-k1k2.zip dostupna sa stranice predmeta] (arhiva).&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Projektovati potisni automat koji prepoznaje sledeći skup sekvenci: &amp;lt;math&amp;gt;\left\{a^k b^m c^{k-1}\right\} k &amp;gt; 0, m \geq 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Iz zadatog skupa izabrati jednu sekvencu dužine veće od tri i prikazati proces njenog prepoznavanja.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Prvo stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! ∇&lt;br /&gt;
|&lt;br /&gt;
* PUSH(A)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
|&lt;br /&gt;
* PUSH(B)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S2)&lt;br /&gt;
|&lt;br /&gt;
* REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
|&lt;br /&gt;
* PUSH(B)&lt;br /&gt;
* ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S2)&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S3)&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Drugo stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| REJECT&lt;br /&gt;
| ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| REJECT&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
* STATE(S3)&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Treće stanje potisne mašine za prepoznavanje sekvence&lt;br /&gt;
!&lt;br /&gt;
! a&lt;br /&gt;
! b&lt;br /&gt;
! c&lt;br /&gt;
! ─┤&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| REJECT&lt;br /&gt;
| REJECT&lt;br /&gt;
|&lt;br /&gt;
* POP&lt;br /&gt;
* ADVANCE&lt;br /&gt;
| REJECT&lt;br /&gt;
|}&lt;br /&gt;
Rad ovog automata možemo prikazati na sekvenci &#039;&#039;&#039;aabbbc&#039;&#039;&#039;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Stek&lt;br /&gt;
! Sekvenca&lt;br /&gt;
! Stanje&lt;br /&gt;
! Operacije&lt;br /&gt;
|-&lt;br /&gt;
| ∇&lt;br /&gt;
| aabbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| PUSH(A), ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇A&lt;br /&gt;
| abbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| PUSH(B), ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bbbc─┤&lt;br /&gt;
| 1&lt;br /&gt;
| ADVANCE, STATE(S2)&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bbc─┤&lt;br /&gt;
| 2&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| bc─┤&lt;br /&gt;
| 2&lt;br /&gt;
| ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| c─┤&lt;br /&gt;
| 2&lt;br /&gt;
| RETAIN, STATE(S3)&lt;br /&gt;
|-&lt;br /&gt;
| ∇AB&lt;br /&gt;
| c─┤&lt;br /&gt;
| 3&lt;br /&gt;
| POP, ADVANCE&lt;br /&gt;
|-&lt;br /&gt;
| ∇A&lt;br /&gt;
| ─┤&lt;br /&gt;
| 3&lt;br /&gt;
| ACCEPT&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 2 postavka.svg|thumb|Stablo iz postavke drugog zadatka.]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Direktno na zadatom sintaksnom stablu jednog regularnog izraza naznačiti poništivost, i funkcije prva i poslednja pozicija.&lt;br /&gt;
# Nacrtati tabelu sa vrednostima funkcije sledeća pozicija.&lt;br /&gt;
# Na osnovu zadatog stabla i rezultata pod a) odrediti konačni automat. Obavezno navesti postupak. Nije potrebna minimizacija.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 2 rešenje.svg|thumb|Stablo iz rešenja drugog zadatka.]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Tabela sledećih pozicija&lt;br /&gt;
! Pozicija&lt;br /&gt;
! Sledeća pozicija&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
| 7, 8&lt;br /&gt;
|-&lt;br /&gt;
! 7&lt;br /&gt;
| 7, 8&lt;br /&gt;
|-&lt;br /&gt;
! 8&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak pretvaranja sintaksnog stabla u deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! 1, 2, 3&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 4, 5, 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4, 5, 8&lt;br /&gt;
| 6&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 7, 8&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 7, 8&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 7, 8&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! A&lt;br /&gt;
| B&lt;br /&gt;
| B&lt;br /&gt;
| C&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| C&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! C&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| C&lt;br /&gt;
| D&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! D&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| E&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
[[Datoteka:PPR K1 2017 zadatak 3 postavka.svg|thumb|Nedeterministički konačni automat iz postavke trećeg zadatka pod b.]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Da li su dati automati ekvivalentni? Obavezno prikazati postupak.&lt;br /&gt;
# Konvertovati zadati nedeterministički automat u deterministički. Obavezno prikazati postupak. Nije potrebna minimizacija.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Prvi automat iz postavke trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → Ax&lt;br /&gt;
| Ax&lt;br /&gt;
| Ax&lt;br /&gt;
| Bx&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! Bx&lt;br /&gt;
| Bx&lt;br /&gt;
| Ax&lt;br /&gt;
| Bx&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Drugi automat iz postavke trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → Az&lt;br /&gt;
| Cz&lt;br /&gt;
| Az&lt;br /&gt;
| Bz&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! Bz&lt;br /&gt;
| Bz&lt;br /&gt;
| Az&lt;br /&gt;
| Az&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! Cz&lt;br /&gt;
| Cz&lt;br /&gt;
| Az&lt;br /&gt;
| Bz&lt;br /&gt;
| 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak provere ekvivalencije automata iz trećeg zadatka pod a&lt;br /&gt;
!&lt;br /&gt;
! 0&lt;br /&gt;
! 1&lt;br /&gt;
! 2&lt;br /&gt;
|-&lt;br /&gt;
! Ax, Az&lt;br /&gt;
| Ax, Cz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
|-&lt;br /&gt;
! Ax, Cz&lt;br /&gt;
| Ax, Cz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
|-&lt;br /&gt;
! Bx, Bz&lt;br /&gt;
| Bx, Bz&lt;br /&gt;
| Ax, Az&lt;br /&gt;
| &#039;&#039;&#039;Bx, Az&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
Zbog toga što stanja Bx i Az nisu kompatibilna, ova dva automata &#039;&#039;&#039;nisu ekvivalentna&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Postupak pretvaranja nedeterminističkog konačnog automata u deterministički&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → 1, 2, 4, 7, 8, 9&lt;br /&gt;
| 3, 8, 9&lt;br /&gt;
| 5, 8, 9&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 3, 8, 9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 5, 8, 9&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 9, 10, 11, 12, 17, 18, 19&lt;br /&gt;
| 13, 14&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! 13, 14&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 14, 15, 16, 19&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Deterministički konačni automat&lt;br /&gt;
!&lt;br /&gt;
! +&lt;br /&gt;
! -&lt;br /&gt;
! d&lt;br /&gt;
! .&lt;br /&gt;
! Prihvata&lt;br /&gt;
|-&lt;br /&gt;
! → A&lt;br /&gt;
| B&lt;br /&gt;
| C&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! B&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! C&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! D&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| D&lt;br /&gt;
| E&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
! E&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| F&lt;br /&gt;
|&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! F&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| F&lt;br /&gt;
|&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
?????&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
?????&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Програмски преводиоци 1]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7829</id>
		<title>Микропроцесорски системи/Теорија</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7829"/>
		<updated>2024-09-18T19:50:32Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Питање 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Питалице&#039;&#039;&#039; долазе на теоријским деловима обе предиспитне обавезе и свих испита на предмету. Типови питања су јако слични између рокова, па су зато испод набројана типична питања која се могу појавити на теоријском делу испита, дати примери питања и набројани корисни ресурси одакле се може прочитати више о њима. Уколико објашњења дата овде нису довољно јасна, погледати примере задатака ради разјашњења.&lt;br /&gt;
&lt;br /&gt;
== Први блок ==&lt;br /&gt;
=== Улазак и излазак из прекидне рутине ===&lt;br /&gt;
Код овог типа питања битно је разумети како функционише неколико механизама у &#039;&#039;Cortex-M3&#039;&#039; микропроцесору. Текст испод парафразиран је из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; са страница 37 и 38:&lt;br /&gt;
* &#039;&#039;&#039;Stacking:&#039;&#039;&#039; операција чувања одређених регистара на стеку приликом уласка у прекидну рутину. На стеку се чувају следећи регистри (то се зове &#039;&#039;stack frame&#039;&#039;) у редоследу који је дат:&lt;br /&gt;
** &#039;&#039;R0&#039;&#039;, &#039;&#039;R1&#039;&#039;, &#039;&#039;R2&#039;&#039;, &#039;&#039;R3&#039;&#039; и &#039;&#039;R12&#039;&#039;&lt;br /&gt;
** Повратна адреса прекидне рутине (односно &#039;&#039;PC&#039;&#039; регистар)&lt;br /&gt;
** Програмски статусни регистар (&#039;&#039;PSR&#039;&#039;)&lt;br /&gt;
** &#039;&#039;Link register&#039;&#039; (&#039;&#039;LR&#039;&#039;)&lt;br /&gt;
*: Након &#039;&#039;stacking&#039;&#039;, &#039;&#039;SP&#039;&#039; показује на најнижу адресу у &#039;&#039;stack frame&#039;&#039; (односно на &#039;&#039;R0&#039;&#039;). У &#039;&#039;CCR&#039;&#039; регистру бит &#039;&#039;STKALIGN&#039;&#039; може бити постављен на 1, у ком случају се дешава поравнање стека на дуплу реч.&lt;br /&gt;
*: За овај механизам углавном буде дат програм на асемблеру који са стека учита одређени податак, па се мора одредити која је вредност тог податка.&lt;br /&gt;
* &#039;&#039;&#039;Late-arriving:&#039;&#039;&#039; Паралелно са &#039;&#039;stacking&#039;&#039; се дохвата адреса руковаоца у IVT, па ако се до учитавања прве инструкције у прекидној рутини појави изузетак вишег групног приоритета прелази се на његово извршавање.&lt;br /&gt;
* &#039;&#039;&#039;Tail-chaining:&#039;&#039;&#039; ако након извршавања тренутне прекидне рутине постоји следећи прекид који испуњава услове извршавања, прелази се на његово извршавање без уклањања вредности из &#039;&#039;stack frame&#039;&#039;.&lt;br /&gt;
*: За овај механизам питања углавном буду бројање колико пута се десио &#039;&#039;tail-chaining&#039;&#039; под одређеним условима.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Stacking:&#039;&#039; [[Микропроцесорски системи/К1 2022#3. задатак|3. задатак, К1 2022]]&lt;br /&gt;
* &#039;&#039;Tail-chaining:&#039;&#039; [[Микропроцесорски системи/К1 2022#2. задатак|2. задатак, К1 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Почетна инструкција програма ===&lt;br /&gt;
Адреса адресе прве инструкције програма јесте 0x00000004, тако да је адреса прве инструкције програма штагод да пише у меморији на адреси 0x00000004. Ова једноставна питалица може често да се појави на различитим роковима и одговор на њу може се наћи на страни 15 од &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#1. задатак|1. задатак, јул 2022]], 1. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Условно извршавање инструкција ===&lt;br /&gt;
Овај механизам објашњен је на страни 56 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 3.3.7 &#039;&#039;Conditional execution&#039;&#039;. Питања из ове области обично садрже барем једну &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt; инструкцију и неке комбинације &amp;lt;code&amp;gt;add&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sub&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cmp&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;mov&amp;lt;/code&amp;gt; инструкција са суфиксом &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; (ажурира програмски статусни регистар!) или без њега (не ажурира програмски статусни регистар!), а на крају се тражи вредност у неком од коришћених регистара. Треба нагласити да &amp;lt;code&amp;gt;cmp&amp;lt;/code&amp;gt; инструкција увек ажурира програмски статусни регистар.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 1|1. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#2. задатак|2. задатак, јул 2022]], 2. задатак, јануар 2023&lt;br /&gt;
* (&#039;&#039;извршавање инструкција генерално&#039;&#039;) [[Микропроцесорски системи/К1 2022#1. задатак|1. задатак, К1 2022]]&lt;br /&gt;
* [[#Питање 1|Некатегорисано питање 1]]&lt;br /&gt;
* [[#Питање 2|Некатегорисано питање 2]]&lt;br /&gt;
* Примери из документације&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Bit-band alias&#039;&#039; ===&lt;br /&gt;
У овом типу задатка тражи се да се за неки бит у SRAM одреди &#039;&#039;bit-band alias&#039;&#039; адреса. На страни 27 &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; објашњен је овај механизам и наведене следеће формуле:&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_offset = (byte_offset x 32) + (bit_number x 4)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_addr = bit_band_base + bit_word_offset&amp;lt;/code&amp;gt;&lt;br /&gt;
где је:&lt;br /&gt;
* &amp;lt;code&amp;gt;byte_offset&amp;lt;/code&amp;gt; померај неког бајта од почетка SRAM (SRAM почиње на 0x20000000),&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_number&amp;lt;/code&amp;gt; број бита који се тражи (дат у задатку)&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_band_base&amp;lt;/code&amp;gt; почетак &#039;&#039;bit-band alias&#039;&#039; региона (почиње на 0x22000000)&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 2|2. задатак, пробни тест 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Режими рада ===&lt;br /&gt;
Иако нема примера овог питања, може да дође питање у ком режиму се налази процесор приликом извршавања прекидне рутине (&#039;&#039;handler mode&#039;&#039;), а у ком приликом главног програма (&#039;&#039;thread mode&#039;&#039;). Овај податак се може наћи на страни 13 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 2.1.1 &#039;&#039;Processor mode and privilege levels for software execution&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Intel HEX&#039;&#039; формат ===&lt;br /&gt;
У оваквом задатку потребно је растумачити шта пише у једној &#039;&#039;Intel HEX&#039;&#039; датотеци за коју је дат садржај и истакнута синтакса. Опис овог формата може са наћи на [[wikipedia:Intel HEX|Википедији]], али такође и на [https://developer.arm.com/documentation/ka003292/latest &#039;&#039;ARM&#039;&#039;-овом] и [https://www.intel.com/content/www/us/en/support/programmable/articles/000076770.html &#039;&#039;Intel&#039;&#039;-овом] сајту.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#1. задатак|1. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#1. задатак|1. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Иницијална вредност &#039;&#039;SP&#039;&#039; ===&lt;br /&gt;
Регистар &#039;&#039;SP&#039;&#039; своју иницијалну вредност добија са адресе 0x00000000. У овом типу задатка буде један асемблерски програм у коме се ради формирање IVT (чији је нулти улаз заправо вредност &#039;&#039;SP&#039;&#039;), а затим се у програму негде та вредност користи, и резултат извршавања зависи од те вредности. Главна идеја је прочитати вредност &#039;&#039;SP&#039;&#039; са прве локације у вектор табели из асемблерског програма.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#3. задатак|3. задатак, август 2022]], 4. задатак, К1 2022, 3. задатак, фебруар 2023&lt;br /&gt;
&lt;br /&gt;
=== Тренутна прекидна рутина ===&lt;br /&gt;
Још један чест задатак јесте асемблерски програм у којем се изазове одређени прекид на неки начин, а затим се у прекидној рутини у одређени регистар упише вредност IPSR и пита која је вредност уписана. Овај тип задатка није превише шаблонски у делу где се изазива прекид, али када се сазна који је прекид изазван његов број се лако може сазнати из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, страна 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#4. задатак|4. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#4. задатак|4. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Одређивање изузетка на основу описа ===&lt;br /&gt;
У овом типу задатка дат је опис једног типа изузетка у &#039;&#039;Cortex-M3&#039;&#039; процесору, практично преведен из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, са стране 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;, и дато је више назива изузетака за бирање.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#2. задатак|2. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#2. задатак|2. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
== Други блок ==&lt;br /&gt;
=== Пинови за активацију тајмера ===&lt;br /&gt;
У овом типу питања траже се пинови чија одговарајућа промена окида односно стартује бројање на одређеном тајмеру микроконтролера. На фигурама са страна 294 и 367 из &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да у сигналу TRGI учествују &amp;lt;code&amp;gt;TIMx_ETR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TIMx_CH1&amp;lt;/code&amp;gt; (преко TI1FP1) и &amp;lt;code&amp;gt;TIMx_CH2&amp;lt;/code&amp;gt; (преко TI2FP2), а на странама 178 и 179 можемо пронаћи одговарајућа мапирања пинова за те канале микроконтролера. У теорији, у том сигналу би могао да учествује и сигнал &amp;lt;code&amp;gt;TIMx_CH3&amp;lt;/code&amp;gt; (преко XOR кола које улази у TI1) али ово никада није означено као тачан одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 3|3. задатак, пробни тест 2022]] (&#039;&#039;TIM2&#039;&#039;)&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#3. задатак|3. задатак, К2 2022]], 4. задатак, јул 2022 (&#039;&#039;TIM1&#039;&#039;), 4. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Фреквенција HCLK ===&lt;br /&gt;
Постоји неколико варијанти овог питања где је дата фреквенција интерних или екстерних осцилатора а пита се за максималну радну фреквенцију (HCLK). Одговор на ово питање се увек може наћи на фигури 8 са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, где ти сигнали такта обично пролазе кроз PLL и евентуално се одсецају на одговарајуће максимуме као што је прописано шемом. Обратити пажњу и на текст испод фигуре!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 4|4. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#3. задатак|3. задатак, јул 2022]], 3. задатак, јануар 2023&lt;br /&gt;
* [[#Питање 3|Некатегорисано питање 3]]&lt;br /&gt;
&lt;br /&gt;
=== Број догађаја пред UEV ===&lt;br /&gt;
Овај тип питања пита колико пута се којих догађаја мора десити како би се десио &#039;&#039;Update Event&#039;&#039; (UEV) неког тајмера. Одговор је суштински да треба да се деси за један више пута него што је вредност &#039;&#039;repetition counter&#039;&#039;, при бројању навише се дешава &#039;&#039;counter overflow&#039;&#039;, док се при бројању наниже дешава &#039;&#039;counter underflow&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#5. задатак|5. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#5. задатак|5. задатак, фебруар 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Начин бројања тајмера ===&lt;br /&gt;
Иако нема забележеног тачног текста овог питања, може да дође питање да се означи на који начин може да броји тајмер, и на то је потребно одговорити:&lt;br /&gt;
# навише,&lt;br /&gt;
# наниже, и&lt;br /&gt;
# комбиновано.&lt;br /&gt;
&lt;br /&gt;
=== Активирање EXTI преко RTSR ===&lt;br /&gt;
Питање пита за вредност EXTI_RTSR регистра која мора бити уписана како би се омогућили прекиди на датим пиновима. На страни 212. од &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да за сваку &#039;&#039;EXTI&#039;&#039; линију постоји по један бит у &#039;&#039;RTSR&#039;&#039; регистру, док на страни 210. можемо видети да пиновима са индексом 0 одговара линија 0, пиновима са индексом 1 одговара линија 1, и тако даље. На основу тога, поставимо одговарајуће битове броја на основу датих пинова, и то је тражени одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#1. задатак|1. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Auto-reload&#039;&#039; регистар ===&lt;br /&gt;
Често умеју да дођу питања где су фигуре 59, 60, 70 или 71 исечене на неком делу и студенти се питају за одговарајуће вредности након исеченог дела. За овакво питање је потребно пронаћи одговарајућу фигуру из документације и видети на који начин измена &#039;&#039;Auto-reload preload&#039;&#039; регистра утиче на &#039;&#039;shadow&#039;&#039; регистар.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#4. задатак|4. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Магистрале за периферије ===&lt;br /&gt;
Могу да дођу питања која питају на којој се магистрали налази одређена периферија. Ова информација се може наћи на неколико места у &#039;&#039;STM32F103 Reference Manual&#039;&#039;, а најбоље на страни 50, 3.3 &#039;&#039;Memory map&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#2. задатак|2. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
== Трећи блок ==&lt;br /&gt;
=== &#039;&#039;USART&#039;&#039; грешке ===&lt;br /&gt;
Као једино често теоријско питање из овог блока може се издвојити питање о грешкама приликом спровођења &#039;&#039;USART&#039;&#039; протокола. &#039;&#039;USART&#039;&#039; комуникација изгледа тако што се магистрала држи на вредности 1 док по њој нема комуникације, затим почетни бит поруке има вредност 0 (&#039;&#039;start bit&#039;&#039;), после њега долази одређен број битова података (дат у задатку) у који је (опционо) укључен и бит парности (последњи међу битовима података), и на крају долази &#039;&#039;stop bit&#039;&#039; који мора имати вредност 1. Овде су могуће две грешке протокола:&lt;br /&gt;
* &#039;&#039;&#039;Parity error:&#039;&#039;&#039; у задатку је дато да ли се ради о парној парности или непарној парности, тако да ако је збир битова података (укључујући и бит парности) паран приликом непарне парности, или непаран приликом парне парности, дошло је до ове грешке.&lt;br /&gt;
* &#039;&#039;&#039;Framing error:&#039;&#039;&#039; ова грешка се десила уколико на месту где треба да стоји &#039;&#039;stop bit&#039;&#039; не стоји вредност 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#5. задатак|5. задатак, јул 2022]], 5. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
== Некатегорисана питања ==&lt;br /&gt;
Следећа питања не припадају ниједном року, али спадају у једну од категорија питања изнад.&lt;br /&gt;
&lt;br /&gt;
=== Питање 1 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 6&lt;br /&gt;
mov r1, 9&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
itttt gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 5&lt;br /&gt;
addgt r1, r1, r0&lt;br /&gt;
subgt r1, r1, #4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0xFFFFFFFE&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 2 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 5&lt;br /&gt;
mov r1, 7&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
ittet gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 3&lt;br /&gt;
addle r1, r1, r0&lt;br /&gt;
subgt r1, r1, 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x00000004. Напомена: на страни 58 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 3.3.7 &#039;&#039;Conditional execution&#039;&#039;, лоше је написан услов за LE суфикс, исправан услов је &amp;quot;Z = 1 or N != V&amp;quot; уместо &amp;quot;Z = 1 and N != V&amp;quot; како је написано у документацији.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 3 ===&lt;br /&gt;
Колика је максимална радна фреквенција (&#039;&#039;HCLK&#039;&#039;) микроконтролера &#039;&#039;STM32F103R6&#039;&#039; уколико се користи &#039;&#039;HSE&#039;&#039; осцилатор који на свом излазу производи сигнал такта фреквенције 8MHz? Одговор унети у мегахерцима без навођења ознаке јединице.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;72&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Као што пише на фигури са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, &#039;&#039;HSE&#039;&#039; такт може проћи кроз PLL који може да његову фреквенцију помножи до 16 пута, али је максимална фреквенција &#039;&#039;HCLK&#039;&#039; 72MHz, што је мање од 128MHz колико би иначе могло да буде.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Микропроцесорски системи]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2022&amp;diff=7828</id>
		<title>Микропроцесорски системи/К1 2022</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2022&amp;diff=7828"/>
		<updated>2024-09-18T19:13:03Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* 1. задатак */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Први колоквијум 2022. године&#039;&#039;&#039; одржан је 5. новембра, била је доступна документација микроконтролера, процесора и &#039;&#039;Intel HEX&#039;&#039; формата као и презентације са предавања током теоријског и практичног дела испита. Поставка рока није доступна са странице предмета.&lt;br /&gt;
&lt;br /&gt;
== Теорија ==&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r1, 0xFF00&lt;br /&gt;
ldr r0, [r1]&lt;br /&gt;
ldr r0, [r1, 1]&lt;br /&gt;
ldr r0, [r1, 1]!&lt;br /&gt;
ldr r0, [r1], 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
Одговор: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x0000FF02&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Инструкције &amp;lt;code&amp;gt;ldr r0, [r1, 1]!&amp;lt;/code&amp;gt; као и &amp;lt;code&amp;gt;ldr r0, [r1], 1&amp;lt;/code&amp;gt; мењају садржај &#039;&#039;R1&#039;&#039; повећавањем за 1. Релевантна страница у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; је 62 (3.4.2 &#039;&#039;LDR and STR, immediate offset&#039;&#039;).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
Посматра се &#039;&#039;Cortex-M3&#039;&#039; процесор са подразумеваном конфигурацијом након ресета. У наставку је дато тренутно стање система описано вредностима које би биле добијене читањем одговарајућих меморијски мапираних регистара:&lt;br /&gt;
 NVIC_IABR0: 0x00000000&lt;br /&gt;
 NVIC_ISER0: 0x0000003C&lt;br /&gt;
 NVIC_ISPR0: 0x0000002E&lt;br /&gt;
Колико пута ће бити активиран &#039;&#039;tail-chaining&#039;&#039; механизам за претходно наведено стање система под претпоставком да неће пристизати нови захтеви за прекидом?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Регистар &amp;lt;code&amp;gt;NVIC_IABR0&amp;lt;/code&amp;gt; (&#039;&#039;interrupt active bit register&#039;&#039;) нам каже да нема активних прекида тренутно. Регистар &amp;lt;code&amp;gt;NVIC_ISER0&amp;lt;/code&amp;gt; (&#039;&#039;interrupt set enable register&#039;&#039;) нам каже који прекиди су омогућени. Регистар &amp;lt;code&amp;gt;NVIC_ISPR0&amp;lt;/code&amp;gt; (&#039;&#039;interrupt set pending register&#039;&#039;) нам каже који прекиди чекају на опслуживање тренутно. Прекиди који могу да се опслуже тренутно су они који су и омогућени и чекају на опслуживање. Уколико урадимо битско И над вредностима &amp;lt;code&amp;gt;NVIC_ISER0&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;NVIC_ISPR0&amp;lt;/code&amp;gt; добијамо 0x0000002C, односно 00000000000000000000000000101100 у бинарном, што нам говори да три прекида могу тренутно да се опслуже. &#039;&#039;Tail-chaining&#039;&#039; се дешава при прелазу између два прекида, а пошто ће се међу ова три прекида два пута прећи између прекида то је одговор на ово питање.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. задатак ===&lt;br /&gt;
У наставку је приказан садржај две датотеке: (1) линкерска скрипта и (2) изворни асемблерски код програма. Посматра се извршавање датог програма који је резултат линковања помоћу приказане линкерске скрипте.&lt;br /&gt;
&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R4&#039;&#039; у тренутку када ток контроле стигне до адресе указане лабелом &amp;lt;code&amp;gt;leave_sv_call_handler&amp;lt;/code&amp;gt;? Одговор унети према формату неозначених хексадецималних литерала у C програмском језику ширине 32 бита.&lt;br /&gt;
&lt;br /&gt;
Линкерска скрипта:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MEMORY&lt;br /&gt;
{&lt;br /&gt;
    FLASH(rx) : ORIGIN = 0x08000000, LENGTH = 32K&lt;br /&gt;
    SRAM(rwx) : ORIGIN = 0x20000000, LENGTH = 10K&lt;br /&gt;
}&lt;br /&gt;
SECTIONS&lt;br /&gt;
{&lt;br /&gt;
    .vector_table : { *(.vector_table) } &amp;gt; FLASH&lt;br /&gt;
    .text : { *(.text*) } &amp;gt; FLASH&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Изворни асемблерски код програма:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
.cpu cortex-m3&lt;br /&gt;
.fpu softvfp&lt;br /&gt;
.syntax unified&lt;br /&gt;
.thumb&lt;br /&gt;
&lt;br /&gt;
.section .vector_table, &amp;quot;a&amp;quot;&lt;br /&gt;
.word 0x20000064&lt;br /&gt;
.word reset_handler&lt;br /&gt;
.rept 9&lt;br /&gt;
.word default_handler&lt;br /&gt;
.endr&lt;br /&gt;
.word sv_call_handler&lt;br /&gt;
&lt;br /&gt;
.section .text.reset_handler&lt;br /&gt;
.type reset_handler, %function&lt;br /&gt;
reset_handler:&lt;br /&gt;
    mov r0, 0&lt;br /&gt;
    mov r1, 1&lt;br /&gt;
    mov r2, 2&lt;br /&gt;
    mov r3, 3&lt;br /&gt;
    mov r12, 12&lt;br /&gt;
    mov r14, 14&lt;br /&gt;
    svc 0&lt;br /&gt;
    nop&lt;br /&gt;
infinite_loop:&lt;br /&gt;
    b infinite_loop&lt;br /&gt;
&lt;br /&gt;
.section .text.default_handler&lt;br /&gt;
.type default_handler, %function&lt;br /&gt;
default_handler:&lt;br /&gt;
    b default_handler&lt;br /&gt;
&lt;br /&gt;
.section .text.sv_call_handler&lt;br /&gt;
.type sv_call_handler, %function&lt;br /&gt;
sv_call_handler:&lt;br /&gt;
    ldr r4, [sp, 1 * 4]&lt;br /&gt;
leave_sv_call_handler:&lt;br /&gt;
    bx lr&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x00000001&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Последњи регистар који се баца на стек при уласку у прекидну рутину је &#039;&#039;R0&#039;&#039;, а пре њега су &#039;&#039;R1&#039;&#039;, &#039;&#039;R2&#039;&#039;, &#039;&#039;R3&#039;&#039;, &#039;&#039;R12&#039;&#039;... Пошто дохватамо податак који је 4 бајта изнад стек показивача, а стек показивач показује на последњу заузету локацију, односно &#039;&#039;R0&#039;&#039;, садржај који ће бити уписан у &#039;&#039;R4&#039;&#039; ће бити &#039;&#039;R1&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. задатак ===&lt;br /&gt;
Исти као [[Микропроцесорски системи/Август 2022#3. задатак|трећи задатак са августовског рока 2022. године]].&lt;br /&gt;
&lt;br /&gt;
== Задатак ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
Користећи алате &#039;&#039;arm-none-eabi-*&#039;&#039;, &#039;&#039;build-tools&#039;&#039; и &#039;&#039;Eclipse CDT&#039;&#039; и &#039;&#039;Proteus&#039;&#039; симулатор потребно је испунити ставке које се налазе у наставку.&lt;br /&gt;
# &#039;&#039;&#039;[1 поен]&#039;&#039;&#039; Направити нови пројекат у &#039;&#039;Proteus&#039;&#039; симулатору у оквиру којег на структурној шеми треба инстанцирати микроконтролер &#039;&#039;STM32F103R6&#039;&#039;, неопходне компоненте и извршити одговарајућа повезивања за успешно покретање симулације.&lt;br /&gt;
# &#039;&#039;&#039;[3 поена]&#039;&#039;&#039; Написати &#039;&#039;Makefile&#039;&#039; којим је могуће превести, асемблирати и повезати пројекат са изворним кодом написаним на &#039;&#039;C&#039;&#039; програмском језику у циљу добијања извршног кода у &#039;&#039;ELF&#039;&#039; формату (подразумевани формат излаза &#039;&#039;GNU&#039;&#039; асемблера и линкера) и &#039;&#039;Intel Hex&#039;&#039; формату. &#039;&#039;Makefile&#039;&#039; мора бити написан тако да испуњава следећа два услова: (1) додавање нових датотека са изворним кодом у пројекат не захтева експлицитно писање нових правила (измене другог типа у &#039;&#039;Makefile&#039;&#039; су дозвољене) и (2) све резултате и међурезултате процеса превођења, асемблирања и повезивања пројекта треба сместити у засебан поддиректоријум.&lt;br /&gt;
#: Студенти којима претходно наведена два услова представљају препреку могу прећи на израду наредних ставки тако што ће написати рудиментаран &#039;&#039;Makefile&#039;&#039; чији рецепти садрже команде за превођење односно асемблирање сваке појединачне датотеке са изворним кодом и остале пратеће команде за повезивање читавог пројекта. Број поена за ову ставку у случају писања рудиментарног &#039;&#039;Makefile&#039;&#039; износи један поен од максималних три поена предвиђених за ову ставку.&lt;br /&gt;
# &#039;&#039;&#039;[3 поена]&#039;&#039;&#039; Написати линкерску скрипту која се може искористити приликом повезивања објектних датотека, које садрже секције са кодом, подацима без иницијалних вредности и подацима са иницијалним вредностима, у циљу добијања извршног кода односно меморијске мапе. Извршни код добијен на основу написане линкерске скрипте мора се исправно извршавати на микроконтролеру &#039;&#039;STM32F103R6&#039;&#039; и након губитка напајања. Приликом писања линкерске скрипте могуће је усвојити претпоставку о постојању одговарајућих симбола (секција са садржајем &#039;&#039;IVT&#039;&#039;, улазна тачка програма итд.) у оквиру улазних објектних датотека.&lt;br /&gt;
# &#039;&#039;&#039;[3 поена]&#039;&#039;&#039; Написати изворни код којим се постиже у потпуности исправна иницијализација микроконтролера &#039;&#039;STM32F103R6&#039;&#039; у општем случају (програм који се извршава садржи код, податке без иницијалних вредности и податке са иницијалним вредностима) при чему је потребно обезбедити исправно извршавање и након губитка напајања.&lt;br /&gt;
#: Функцију &amp;lt;code&amp;gt;test4&amp;lt;/code&amp;gt; дефинисану у &#039;&#039;test.c&#039;&#039; датотеци позвати на самом почетку &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; функције.&lt;br /&gt;
# &#039;&#039;&#039;[2 поена]&#039;&#039;&#039; Конфигурисати систем и SCB (&#039;&#039;System control block&#039;&#039;) периферију језгра на описани начин. Обезбедити да битови који представљају приоритете изузетака/прекида имају следеће значење: највиша два бита одређују групни приоритет, преостали нижи битови одређују подприоритет. Поставити вредност &amp;lt;code&amp;gt;0xF0&amp;lt;/code&amp;gt; за приоритет &#039;&#039;PendSV&#039;&#039; изузетка. Активирати &#039;&#039;PendSV&#039;&#039; изузетак постављањем његовог &#039;&#039;pending&#039;&#039; бита на активну вредност.&lt;br /&gt;
#: Функцију &amp;lt;code&amp;gt;test5&amp;lt;/code&amp;gt; дефинисану у &#039;&#039;test.c&#039;&#039; датотеци позвати из &#039;&#039;PendSV&#039;&#039; руковаоца изузетком (&#039;&#039;exception handler&#039;&#039;) односно прекидне рутине.&lt;br /&gt;
# &#039;&#039;&#039;[2 поена]&#039;&#039;&#039; Конфигурисати систем и &#039;&#039;NVIC&#039;&#039; (&#039;&#039;Nested vectored interrupt controller&#039;&#039;) периферију језгра тако да су истовремено остварена следећа три услова: (1) захтеви за обрадом прекида &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039; и &#039;&#039;IRQ2&#039;&#039; јесу омогућени, (2) у случају пристизања претходна три захтева у истом тренутку редослед њихове обраде јесте прво &#039;&#039;IRQ2&#039;&#039;, затим &#039;&#039;IRQ0&#039;&#039; и на крају &#039;&#039;IRQ1&#039;&#039; и (3) групни приоритет претходна три прекида је идентичан. Активирати &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039; и &#039;&#039;IRQ2&#039;&#039; прекиде одједном истовременим постављањем њихових &#039;&#039;pending&#039;&#039; битова на активну вредност. Функције &amp;lt;code&amp;gt;test6_irq0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;test6_irq1&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;test6_irq2&amp;lt;/code&amp;gt; дефинисане у &#039;&#039;test.c&#039;&#039; датотеци појединачно позвати из прекидних рутина &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039; и &#039;&#039;IRQ2&#039;&#039;, респективно (сваку тест функцију позвати само у њој одговарајућој прекидној рутини).&lt;br /&gt;
# &#039;&#039;&#039;[2 поена]&#039;&#039;&#039; Конфигурисати систем и &#039;&#039;STK&#039;&#039; (&#039;&#039;SysTick timer&#039;&#039;) периферију језгра тако да буде могуће мерење времена протеклог између позива &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функција. Позивом &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; функције означава се почетни тренутак мерења времена. Позивом &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функције као повратна вредност добија се број милисекунди протеклих од последњег позива &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; функције. Имплементирати &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функције.&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
extern void start();&lt;br /&gt;
extern uint32_t stop();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#: Након исправне конфигурације &#039;&#039;STK&#039;&#039; (&#039;&#039;SysTick timer&#039;&#039;) периферије језгра, односно када је систем спреман за позив &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функција, из &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; функције позвати функцију &amp;lt;code&amp;gt;test7&amp;lt;/code&amp;gt; дефинисану у &#039;&#039;test.c&#039;&#039; датотеци.&lt;br /&gt;
&lt;br /&gt;
=== Решење ===&lt;br /&gt;
==== Додаци ====&lt;br /&gt;
Биле су дате датотеке &amp;lt;code&amp;gt;nvic.h&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scb.h&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;stk.h&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;test.c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;test.h&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;utility.h&amp;lt;/code&amp;gt; као из примера прве предиспитне обавезе.&lt;br /&gt;
&lt;br /&gt;
У &amp;lt;code&amp;gt;scb.h&amp;lt;/code&amp;gt; је потребно додати следеће:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define SCB ((SCB_RegisterMapType*) 0xE000ED00)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
У &amp;lt;code&amp;gt;nvic.h&amp;lt;/code&amp;gt; је потребно додати следеће:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NVIC ((NVIC_RegisterMapType*) 0xE000E100)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
У &amp;lt;code&amp;gt;stk.h&amp;lt;/code&amp;gt; је потребно додати следеће:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define STK ((STK_RegisterMapType*) 0xE000E010)&lt;br /&gt;
&lt;br /&gt;
#define STK_CTRL_CLKSOURCE (1 &amp;lt;&amp;lt; 2)&lt;br /&gt;
#define STK_CTRL_TICKINT   (1 &amp;lt;&amp;lt; 1)&lt;br /&gt;
#define STK_CTRL_ENABLE    (1 &amp;lt;&amp;lt; 0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Тестови ====&lt;br /&gt;
Датотека &amp;lt;code&amp;gt;test.c&amp;lt;/code&amp;gt; је изгледала овако:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *  SADRZAJ OVE DATOTEKE NE MENJATI&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdint.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uint8_t const rodata[] = &amp;quot;VMA:FLASH, LMA:FLASH&amp;quot;;&lt;br /&gt;
uint8_t data[] = &amp;quot;VMA:RAM, LMA:FLASH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
void test4()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti da li je sadrzaj iz FLASH memorije&lt;br /&gt;
	// prekopiran u inicijalno praznu RAM memoriju&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test5()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti da li je postavljen prioritet PendSV izuzetka na dobar nacin&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test6_irq0()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti redosled izvrsavanja prekidnih rutina&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test6_irq1()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti redosled izvrsavanja prekidnih rutina&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test6_irq2()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti redosled izvrsavanja prekidnih rutina&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
extern void start();&lt;br /&gt;
extern uint32_t stop();&lt;br /&gt;
uint32_t time_elapsed = 0;&lt;br /&gt;
&lt;br /&gt;
void test7()&lt;br /&gt;
{&lt;br /&gt;
	start();&lt;br /&gt;
	uint32_t consumer = 0;&lt;br /&gt;
	for (uint32_t i = 0; i &amp;lt; 250000; i++)&lt;br /&gt;
	{&lt;br /&gt;
		consumer++;&lt;br /&gt;
	}&lt;br /&gt;
	time_elapsed = stop();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
док је датотека &amp;lt;code&amp;gt;test.h&amp;lt;/code&amp;gt; изгледала овако:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *  SADRZAJ OVE DATOTEKE NE MENJATI&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#ifndef _TEST_H_&lt;br /&gt;
#define _TEST_H_&lt;br /&gt;
&lt;br /&gt;
extern void test4();&lt;br /&gt;
extern void test5();&lt;br /&gt;
extern void test6_irq0();&lt;br /&gt;
extern void test6_irq1();&lt;br /&gt;
extern void test6_irq2();&lt;br /&gt;
extern void test7();&lt;br /&gt;
&lt;br /&gt;
#endif /* _TEST_H_ */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Линкерска скрипта ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MEMORY&lt;br /&gt;
{&lt;br /&gt;
	FLASH(rx) : ORIGIN = 0x08000000, LENGTH = 32K&lt;br /&gt;
	SRAM(rwx) : ORIGIN = 0x20000000, LENGTH = 10K&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
SECTIONS&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
	.vector_table :&lt;br /&gt;
	{&lt;br /&gt;
		*(.vector_table)&lt;br /&gt;
	} &amp;gt; FLASH&lt;br /&gt;
&lt;br /&gt;
	.text :&lt;br /&gt;
	{&lt;br /&gt;
		*(.text)&lt;br /&gt;
	} &amp;gt; FLASH&lt;br /&gt;
&lt;br /&gt;
	.rodata :&lt;br /&gt;
	{&lt;br /&gt;
		*(.rodata)&lt;br /&gt;
	} &amp;gt; FLASH&lt;br /&gt;
&lt;br /&gt;
	.data :&lt;br /&gt;
	{&lt;br /&gt;
		_vma_data_start = .;&lt;br /&gt;
		*(.data)&lt;br /&gt;
		_vma_data_end = .;&lt;br /&gt;
	} &amp;gt; SRAM AT&amp;gt; FLASH&lt;br /&gt;
	_lma_data_start = LOADADDR(.data);&lt;br /&gt;
&lt;br /&gt;
	.bss :&lt;br /&gt;
	{&lt;br /&gt;
		*(.bss)&lt;br /&gt;
	} &amp;gt; SRAM&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;Makefile&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
PROGRAM = program&lt;br /&gt;
BUILD_DIR = build&lt;br /&gt;
DEBUG_ENABLED = 1&lt;br /&gt;
&lt;br /&gt;
SOURCE_C_LIST = \&lt;br /&gt;
	src/main.c \&lt;br /&gt;
	src/test.c&lt;br /&gt;
&lt;br /&gt;
SOURCE_S_LIST = \&lt;br /&gt;
	src/startup.s&lt;br /&gt;
&lt;br /&gt;
INCLUDE_LIST = -Iinc&lt;br /&gt;
&lt;br /&gt;
CC = arm-none-eabi-gcc -c&lt;br /&gt;
AS = arm-none-eabi-gcc -c -x assembler&lt;br /&gt;
LD = arm-none-eabi-ld&lt;br /&gt;
HX = arm-none-eabi-objcopy -O ihex&lt;br /&gt;
&lt;br /&gt;
LINKER_SCRIPT = linker_script.ld&lt;br /&gt;
&lt;br /&gt;
OBJECTS_LIST =&lt;br /&gt;
OBJECTS_LIST += $(addprefix $(BUILD_DIR)/, $(notdir $(SOURCE_C_LIST:.c=.o)))&lt;br /&gt;
OBJECTS_LIST += $(addprefix $(BUILD_DIR)/, $(notdir $(SOURCE_S_LIST:.s=.o)))&lt;br /&gt;
vpath %.c $(sort $(dir $(SOURCE_C_LIST)))&lt;br /&gt;
vpath %.s $(sort $(dir $(SOURCE_S_LIST)))&lt;br /&gt;
&lt;br /&gt;
MCU = -mcpu=cortex-m3 -mthumb&lt;br /&gt;
FLAGS_DEBUG = -g -gdwarf-2 -fdebug-prefix-map==../&lt;br /&gt;
WARNINGS = -Wall -Wextra&lt;br /&gt;
&lt;br /&gt;
FLAGS_AS =&lt;br /&gt;
FLAGS_AS += $(MCU)&lt;br /&gt;
FLAGS_AS += $(WARNINGS)&lt;br /&gt;
ifeq ($(DEBUG_ENABLED), 1)&lt;br /&gt;
FLAGS_AS += $(FLAGS_DEBUG)&lt;br /&gt;
endif&lt;br /&gt;
FLAGS_AS += -mlong-calls&lt;br /&gt;
&lt;br /&gt;
FLAGS_CC =&lt;br /&gt;
FLAGS_CC += $(MCU)&lt;br /&gt;
FLAGS_CC += $(WARNINGS)&lt;br /&gt;
FLAGS_CC += $(INCLUDE_LIST)&lt;br /&gt;
ifeq ($(DEBUG_ENABLED), 1)&lt;br /&gt;
FLAGS_CC += $(FLAGS_DEBUG)&lt;br /&gt;
endif&lt;br /&gt;
FLAGS_CC += -MMD -MP&lt;br /&gt;
FLAGS_CC += -mlong-calls&lt;br /&gt;
&lt;br /&gt;
all: $(BUILD_DIR)/$(PROGRAM).elf $(BUILD_DIR)/$(PROGRAM).hex&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/$(PROGRAM).hex: $(BUILD_DIR)/$(PROGRAM).elf&lt;br /&gt;
	$(HX) $(&amp;lt;) $(@)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/$(PROGRAM).elf: $(OBJECTS_LIST) $(LINKER_SCRIPT)&lt;br /&gt;
	$(LD) -T $(LINKER_SCRIPT) -o $(@) $(OBJECTS_LIST)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/%.o: %.s makefile | $(BUILD_DIR)&lt;br /&gt;
	$(AS) $(FLAGS_AS) -o $(@) $(&amp;lt;)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/%.o: %.c makefile | $(BUILD_DIR)&lt;br /&gt;
	$(CC) $(FLAGS_CC) -o $(@) $(&amp;lt;)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR):&lt;br /&gt;
	mkdir -p $(BUILD_DIR)&lt;br /&gt;
&lt;br /&gt;
clean:&lt;br /&gt;
	rm -rf $(BUILD_DIR)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-include $(wildcard $(BUILD_DIR)/*.d)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;startup.s&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
.cpu cortex-m3&lt;br /&gt;
.fpu softvfp&lt;br /&gt;
.syntax unified&lt;br /&gt;
.thumb&lt;br /&gt;
&lt;br /&gt;
.section .vector_table, &amp;quot;a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.extern main&lt;br /&gt;
.extern systick_handler&lt;br /&gt;
.extern test5&lt;br /&gt;
.extern test6_irq0&lt;br /&gt;
.extern test6_irq1&lt;br /&gt;
.extern test6_irq2&lt;br /&gt;
&lt;br /&gt;
.word 0x20002800&lt;br /&gt;
.word main&lt;br /&gt;
.rept 12&lt;br /&gt;
	.word infinite_loop&lt;br /&gt;
.endr&lt;br /&gt;
.word test5&lt;br /&gt;
.word systick_handler&lt;br /&gt;
.word test6_irq0&lt;br /&gt;
.word test6_irq1&lt;br /&gt;
.word test6_irq2&lt;br /&gt;
.rept 65&lt;br /&gt;
	.word infinite_loop&lt;br /&gt;
.endr&lt;br /&gt;
&lt;br /&gt;
.text&lt;br /&gt;
infinite_loop:&lt;br /&gt;
	b infinite_loop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;main.c&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;nvic.h&amp;quot;&lt;br /&gt;
#include &amp;quot;scb.h&amp;quot;&lt;br /&gt;
#include &amp;quot;stk.h&amp;quot;&lt;br /&gt;
#include &amp;quot;test.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
uint32_t millis;&lt;br /&gt;
&lt;br /&gt;
void start() {&lt;br /&gt;
	millis = 0;&lt;br /&gt;
	STK-&amp;gt;VAL = 0;&lt;br /&gt;
	STK-&amp;gt;LOAD = 8000 - 1;&lt;br /&gt;
	STK-&amp;gt;CTRL |= STK_CTRL_CLKSOURCE | STK_CTRL_ENABLE | STK_CTRL_TICKINT;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
uint32_t stop() {&lt;br /&gt;
	STK-&amp;gt;CTRL &amp;amp;= ~(STK_CTRL_CLKSOURCE | STK_CTRL_ENABLE | STK_CTRL_TICKINT);&lt;br /&gt;
	return millis;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void systick_handler() {&lt;br /&gt;
	++millis;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
extern char _vma_data_start;&lt;br /&gt;
extern char _vma_data_end;&lt;br /&gt;
extern char _lma_data_start;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
	// Kopiranje podataka&lt;br /&gt;
	for (char *data_src = &amp;amp;_lma_data_start, *data_dst = &amp;amp;_vma_data_start; data_dst != &amp;amp;_vma_data_end; *(data_dst++) = *(data_src++));&lt;br /&gt;
	// Poziv test funkcije kako je rečeno&lt;br /&gt;
	test4();&lt;br /&gt;
	// Podešavanje prioriteta: xx.yy (x - grupa, y - podgrupa)&lt;br /&gt;
	SCB-&amp;gt;AIRCR = (0x5FA &amp;lt;&amp;lt; 16) | (5 &amp;lt;&amp;lt; 8);&lt;br /&gt;
	// Postavljanje prioriteta za PendSV&lt;br /&gt;
	SCB-&amp;gt;SHPR3 = (0xF0 &amp;lt;&amp;lt; 16);&lt;br /&gt;
	// Postavljanje pending bita za PendSV&lt;br /&gt;
	SCB-&amp;gt;ICSR |= 0x10000000;&lt;br /&gt;
	// Omogućavanje IRQ2..0&lt;br /&gt;
	NVIC-&amp;gt;ISER[0] |= 0x7;&lt;br /&gt;
	// Postavljanje prioriteta za IRQ2..0&lt;br /&gt;
	NVIC-&amp;gt;IPR[0] = (0b10000000 &amp;lt;&amp;lt; 16) | (0b10110000 &amp;lt;&amp;lt; 8) | (0b10010000 &amp;lt;&amp;lt; 0);&lt;br /&gt;
	// Postavljanje pending bita za IRQ2..0&lt;br /&gt;
	NVIC-&amp;gt;ISPR[0] |= 0x7;&lt;br /&gt;
	// STK testiranje&lt;br /&gt;
	test7();&lt;br /&gt;
	// Vrtimo se do kraja izvršavanja&lt;br /&gt;
	while (1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Тестирање ===&lt;br /&gt;
Функционалности предвиђене задатком се тестирају на следећи начин (приказано референтним снимком на првом колоквијуму):&lt;br /&gt;
# Када се уђе у функцију &amp;lt;code&amp;gt;test4&amp;lt;/code&amp;gt;, проверити садржај RAM како би видели да ли се податак &amp;lt;code&amp;gt;VMA:RAM, LMA:FLASH&amp;lt;/code&amp;gt; исправно копирао.&lt;br /&gt;
# Када се уђе у функцију &amp;lt;code&amp;gt;test5&amp;lt;/code&amp;gt;, отворити &#039;&#039;Registers&#039;&#039; прозор и проверити да ли &amp;lt;code&amp;gt;Pri&amp;lt;/code&amp;gt; ред приказује &amp;lt;code&amp;gt;C0.30&amp;lt;/code&amp;gt; као вредност.&lt;br /&gt;
# Проверити да ли се у &amp;lt;code&amp;gt;test6_irqX&amp;lt;/code&amp;gt; функције улази редом &#039;&#039;IRQ2&#039;&#039;, &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039;.&lt;br /&gt;
# Забележити време које &#039;&#039;Proteus&#039;&#039; пријављује када се дође до линије са позивом &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt;, затим наставити до линије са позивом &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; и проверити да ли је у &amp;lt;code&amp;gt;time_elapsed&amp;lt;/code&amp;gt; променљиву уписана разлика тренутног и забележеног времена у милисекундама.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Микропроцесорски системи]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2022&amp;diff=7827</id>
		<title>Микропроцесорски системи/К1 2022</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9A1_2022&amp;diff=7827"/>
		<updated>2024-09-18T19:11:15Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* 1. задатак */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Први колоквијум 2022. године&#039;&#039;&#039; одржан је 5. новембра, била је доступна документација микроконтролера, процесора и &#039;&#039;Intel HEX&#039;&#039; формата као и презентације са предавања током теоријског и практичног дела испита. Поставка рока није доступна са странице предмета.&lt;br /&gt;
&lt;br /&gt;
== Теорија ==&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r1, 0xFF00&lt;br /&gt;
ldr r0, [r1]&lt;br /&gt;
ldr r0, [r1, 1]&lt;br /&gt;
ldr r0, [r1, 1]!&lt;br /&gt;
ldr r0, [r1], 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
Одговор: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x0000FF02&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Инструкције &amp;lt;code&amp;gt;ldr r0, [r1, 1]!&amp;lt;/code&amp;gt; као и &amp;lt;code&amp;gt;ldr r0, [r1], 1&amp;lt;/code&amp;gt; мењају садржај &#039;&#039;R1&#039;&#039; повећавањем за 1. Релевантна страница у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; је 56 (3.3.7 &#039;&#039;Conditional execution&#039;&#039;).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
Посматра се &#039;&#039;Cortex-M3&#039;&#039; процесор са подразумеваном конфигурацијом након ресета. У наставку је дато тренутно стање система описано вредностима које би биле добијене читањем одговарајућих меморијски мапираних регистара:&lt;br /&gt;
 NVIC_IABR0: 0x00000000&lt;br /&gt;
 NVIC_ISER0: 0x0000003C&lt;br /&gt;
 NVIC_ISPR0: 0x0000002E&lt;br /&gt;
Колико пута ће бити активиран &#039;&#039;tail-chaining&#039;&#039; механизам за претходно наведено стање система под претпоставком да неће пристизати нови захтеви за прекидом?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Регистар &amp;lt;code&amp;gt;NVIC_IABR0&amp;lt;/code&amp;gt; (&#039;&#039;interrupt active bit register&#039;&#039;) нам каже да нема активних прекида тренутно. Регистар &amp;lt;code&amp;gt;NVIC_ISER0&amp;lt;/code&amp;gt; (&#039;&#039;interrupt set enable register&#039;&#039;) нам каже који прекиди су омогућени. Регистар &amp;lt;code&amp;gt;NVIC_ISPR0&amp;lt;/code&amp;gt; (&#039;&#039;interrupt set pending register&#039;&#039;) нам каже који прекиди чекају на опслуживање тренутно. Прекиди који могу да се опслуже тренутно су они који су и омогућени и чекају на опслуживање. Уколико урадимо битско И над вредностима &amp;lt;code&amp;gt;NVIC_ISER0&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;NVIC_ISPR0&amp;lt;/code&amp;gt; добијамо 0x0000002C, односно 00000000000000000000000000101100 у бинарном, што нам говори да три прекида могу тренутно да се опслуже. &#039;&#039;Tail-chaining&#039;&#039; се дешава при прелазу између два прекида, а пошто ће се међу ова три прекида два пута прећи између прекида то је одговор на ово питање.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. задатак ===&lt;br /&gt;
У наставку је приказан садржај две датотеке: (1) линкерска скрипта и (2) изворни асемблерски код програма. Посматра се извршавање датог програма који је резултат линковања помоћу приказане линкерске скрипте.&lt;br /&gt;
&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R4&#039;&#039; у тренутку када ток контроле стигне до адресе указане лабелом &amp;lt;code&amp;gt;leave_sv_call_handler&amp;lt;/code&amp;gt;? Одговор унети према формату неозначених хексадецималних литерала у C програмском језику ширине 32 бита.&lt;br /&gt;
&lt;br /&gt;
Линкерска скрипта:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MEMORY&lt;br /&gt;
{&lt;br /&gt;
    FLASH(rx) : ORIGIN = 0x08000000, LENGTH = 32K&lt;br /&gt;
    SRAM(rwx) : ORIGIN = 0x20000000, LENGTH = 10K&lt;br /&gt;
}&lt;br /&gt;
SECTIONS&lt;br /&gt;
{&lt;br /&gt;
    .vector_table : { *(.vector_table) } &amp;gt; FLASH&lt;br /&gt;
    .text : { *(.text*) } &amp;gt; FLASH&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Изворни асемблерски код програма:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
.cpu cortex-m3&lt;br /&gt;
.fpu softvfp&lt;br /&gt;
.syntax unified&lt;br /&gt;
.thumb&lt;br /&gt;
&lt;br /&gt;
.section .vector_table, &amp;quot;a&amp;quot;&lt;br /&gt;
.word 0x20000064&lt;br /&gt;
.word reset_handler&lt;br /&gt;
.rept 9&lt;br /&gt;
.word default_handler&lt;br /&gt;
.endr&lt;br /&gt;
.word sv_call_handler&lt;br /&gt;
&lt;br /&gt;
.section .text.reset_handler&lt;br /&gt;
.type reset_handler, %function&lt;br /&gt;
reset_handler:&lt;br /&gt;
    mov r0, 0&lt;br /&gt;
    mov r1, 1&lt;br /&gt;
    mov r2, 2&lt;br /&gt;
    mov r3, 3&lt;br /&gt;
    mov r12, 12&lt;br /&gt;
    mov r14, 14&lt;br /&gt;
    svc 0&lt;br /&gt;
    nop&lt;br /&gt;
infinite_loop:&lt;br /&gt;
    b infinite_loop&lt;br /&gt;
&lt;br /&gt;
.section .text.default_handler&lt;br /&gt;
.type default_handler, %function&lt;br /&gt;
default_handler:&lt;br /&gt;
    b default_handler&lt;br /&gt;
&lt;br /&gt;
.section .text.sv_call_handler&lt;br /&gt;
.type sv_call_handler, %function&lt;br /&gt;
sv_call_handler:&lt;br /&gt;
    ldr r4, [sp, 1 * 4]&lt;br /&gt;
leave_sv_call_handler:&lt;br /&gt;
    bx lr&lt;br /&gt;
.end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x00000001&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Последњи регистар који се баца на стек при уласку у прекидну рутину је &#039;&#039;R0&#039;&#039;, а пре њега су &#039;&#039;R1&#039;&#039;, &#039;&#039;R2&#039;&#039;, &#039;&#039;R3&#039;&#039;, &#039;&#039;R12&#039;&#039;... Пошто дохватамо податак који је 4 бајта изнад стек показивача, а стек показивач показује на последњу заузету локацију, односно &#039;&#039;R0&#039;&#039;, садржај који ће бити уписан у &#039;&#039;R4&#039;&#039; ће бити &#039;&#039;R1&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. задатак ===&lt;br /&gt;
Исти као [[Микропроцесорски системи/Август 2022#3. задатак|трећи задатак са августовског рока 2022. године]].&lt;br /&gt;
&lt;br /&gt;
== Задатак ==&lt;br /&gt;
=== Поставка ===&lt;br /&gt;
Користећи алате &#039;&#039;arm-none-eabi-*&#039;&#039;, &#039;&#039;build-tools&#039;&#039; и &#039;&#039;Eclipse CDT&#039;&#039; и &#039;&#039;Proteus&#039;&#039; симулатор потребно је испунити ставке које се налазе у наставку.&lt;br /&gt;
# &#039;&#039;&#039;[1 поен]&#039;&#039;&#039; Направити нови пројекат у &#039;&#039;Proteus&#039;&#039; симулатору у оквиру којег на структурној шеми треба инстанцирати микроконтролер &#039;&#039;STM32F103R6&#039;&#039;, неопходне компоненте и извршити одговарајућа повезивања за успешно покретање симулације.&lt;br /&gt;
# &#039;&#039;&#039;[3 поена]&#039;&#039;&#039; Написати &#039;&#039;Makefile&#039;&#039; којим је могуће превести, асемблирати и повезати пројекат са изворним кодом написаним на &#039;&#039;C&#039;&#039; програмском језику у циљу добијања извршног кода у &#039;&#039;ELF&#039;&#039; формату (подразумевани формат излаза &#039;&#039;GNU&#039;&#039; асемблера и линкера) и &#039;&#039;Intel Hex&#039;&#039; формату. &#039;&#039;Makefile&#039;&#039; мора бити написан тако да испуњава следећа два услова: (1) додавање нових датотека са изворним кодом у пројекат не захтева експлицитно писање нових правила (измене другог типа у &#039;&#039;Makefile&#039;&#039; су дозвољене) и (2) све резултате и међурезултате процеса превођења, асемблирања и повезивања пројекта треба сместити у засебан поддиректоријум.&lt;br /&gt;
#: Студенти којима претходно наведена два услова представљају препреку могу прећи на израду наредних ставки тако што ће написати рудиментаран &#039;&#039;Makefile&#039;&#039; чији рецепти садрже команде за превођење односно асемблирање сваке појединачне датотеке са изворним кодом и остале пратеће команде за повезивање читавог пројекта. Број поена за ову ставку у случају писања рудиментарног &#039;&#039;Makefile&#039;&#039; износи један поен од максималних три поена предвиђених за ову ставку.&lt;br /&gt;
# &#039;&#039;&#039;[3 поена]&#039;&#039;&#039; Написати линкерску скрипту која се може искористити приликом повезивања објектних датотека, које садрже секције са кодом, подацима без иницијалних вредности и подацима са иницијалним вредностима, у циљу добијања извршног кода односно меморијске мапе. Извршни код добијен на основу написане линкерске скрипте мора се исправно извршавати на микроконтролеру &#039;&#039;STM32F103R6&#039;&#039; и након губитка напајања. Приликом писања линкерске скрипте могуће је усвојити претпоставку о постојању одговарајућих симбола (секција са садржајем &#039;&#039;IVT&#039;&#039;, улазна тачка програма итд.) у оквиру улазних објектних датотека.&lt;br /&gt;
# &#039;&#039;&#039;[3 поена]&#039;&#039;&#039; Написати изворни код којим се постиже у потпуности исправна иницијализација микроконтролера &#039;&#039;STM32F103R6&#039;&#039; у општем случају (програм који се извршава садржи код, податке без иницијалних вредности и податке са иницијалним вредностима) при чему је потребно обезбедити исправно извршавање и након губитка напајања.&lt;br /&gt;
#: Функцију &amp;lt;code&amp;gt;test4&amp;lt;/code&amp;gt; дефинисану у &#039;&#039;test.c&#039;&#039; датотеци позвати на самом почетку &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; функције.&lt;br /&gt;
# &#039;&#039;&#039;[2 поена]&#039;&#039;&#039; Конфигурисати систем и SCB (&#039;&#039;System control block&#039;&#039;) периферију језгра на описани начин. Обезбедити да битови који представљају приоритете изузетака/прекида имају следеће значење: највиша два бита одређују групни приоритет, преостали нижи битови одређују подприоритет. Поставити вредност &amp;lt;code&amp;gt;0xF0&amp;lt;/code&amp;gt; за приоритет &#039;&#039;PendSV&#039;&#039; изузетка. Активирати &#039;&#039;PendSV&#039;&#039; изузетак постављањем његовог &#039;&#039;pending&#039;&#039; бита на активну вредност.&lt;br /&gt;
#: Функцију &amp;lt;code&amp;gt;test5&amp;lt;/code&amp;gt; дефинисану у &#039;&#039;test.c&#039;&#039; датотеци позвати из &#039;&#039;PendSV&#039;&#039; руковаоца изузетком (&#039;&#039;exception handler&#039;&#039;) односно прекидне рутине.&lt;br /&gt;
# &#039;&#039;&#039;[2 поена]&#039;&#039;&#039; Конфигурисати систем и &#039;&#039;NVIC&#039;&#039; (&#039;&#039;Nested vectored interrupt controller&#039;&#039;) периферију језгра тако да су истовремено остварена следећа три услова: (1) захтеви за обрадом прекида &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039; и &#039;&#039;IRQ2&#039;&#039; јесу омогућени, (2) у случају пристизања претходна три захтева у истом тренутку редослед њихове обраде јесте прво &#039;&#039;IRQ2&#039;&#039;, затим &#039;&#039;IRQ0&#039;&#039; и на крају &#039;&#039;IRQ1&#039;&#039; и (3) групни приоритет претходна три прекида је идентичан. Активирати &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039; и &#039;&#039;IRQ2&#039;&#039; прекиде одједном истовременим постављањем њихових &#039;&#039;pending&#039;&#039; битова на активну вредност. Функције &amp;lt;code&amp;gt;test6_irq0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;test6_irq1&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;test6_irq2&amp;lt;/code&amp;gt; дефинисане у &#039;&#039;test.c&#039;&#039; датотеци појединачно позвати из прекидних рутина &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039; и &#039;&#039;IRQ2&#039;&#039;, респективно (сваку тест функцију позвати само у њој одговарајућој прекидној рутини).&lt;br /&gt;
# &#039;&#039;&#039;[2 поена]&#039;&#039;&#039; Конфигурисати систем и &#039;&#039;STK&#039;&#039; (&#039;&#039;SysTick timer&#039;&#039;) периферију језгра тако да буде могуће мерење времена протеклог између позива &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функција. Позивом &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; функције означава се почетни тренутак мерења времена. Позивом &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функције као повратна вредност добија се број милисекунди протеклих од последњег позива &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; функције. Имплементирати &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функције.&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
extern void start();&lt;br /&gt;
extern uint32_t stop();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#: Након исправне конфигурације &#039;&#039;STK&#039;&#039; (&#039;&#039;SysTick timer&#039;&#039;) периферије језгра, односно када је систем спреман за позив &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; функција, из &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; функције позвати функцију &amp;lt;code&amp;gt;test7&amp;lt;/code&amp;gt; дефинисану у &#039;&#039;test.c&#039;&#039; датотеци.&lt;br /&gt;
&lt;br /&gt;
=== Решење ===&lt;br /&gt;
==== Додаци ====&lt;br /&gt;
Биле су дате датотеке &amp;lt;code&amp;gt;nvic.h&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scb.h&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;stk.h&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;test.c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;test.h&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;utility.h&amp;lt;/code&amp;gt; као из примера прве предиспитне обавезе.&lt;br /&gt;
&lt;br /&gt;
У &amp;lt;code&amp;gt;scb.h&amp;lt;/code&amp;gt; је потребно додати следеће:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define SCB ((SCB_RegisterMapType*) 0xE000ED00)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
У &amp;lt;code&amp;gt;nvic.h&amp;lt;/code&amp;gt; је потребно додати следеће:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NVIC ((NVIC_RegisterMapType*) 0xE000E100)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
У &amp;lt;code&amp;gt;stk.h&amp;lt;/code&amp;gt; је потребно додати следеће:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define STK ((STK_RegisterMapType*) 0xE000E010)&lt;br /&gt;
&lt;br /&gt;
#define STK_CTRL_CLKSOURCE (1 &amp;lt;&amp;lt; 2)&lt;br /&gt;
#define STK_CTRL_TICKINT   (1 &amp;lt;&amp;lt; 1)&lt;br /&gt;
#define STK_CTRL_ENABLE    (1 &amp;lt;&amp;lt; 0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Тестови ====&lt;br /&gt;
Датотека &amp;lt;code&amp;gt;test.c&amp;lt;/code&amp;gt; је изгледала овако:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *  SADRZAJ OVE DATOTEKE NE MENJATI&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdint.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uint8_t const rodata[] = &amp;quot;VMA:FLASH, LMA:FLASH&amp;quot;;&lt;br /&gt;
uint8_t data[] = &amp;quot;VMA:RAM, LMA:FLASH&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
void test4()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti da li je sadrzaj iz FLASH memorije&lt;br /&gt;
	// prekopiran u inicijalno praznu RAM memoriju&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test5()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti da li je postavljen prioritet PendSV izuzetka na dobar nacin&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test6_irq0()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti redosled izvrsavanja prekidnih rutina&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test6_irq1()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti redosled izvrsavanja prekidnih rutina&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void test6_irq2()&lt;br /&gt;
{&lt;br /&gt;
	// proveriti redosled izvrsavanja prekidnih rutina&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
extern void start();&lt;br /&gt;
extern uint32_t stop();&lt;br /&gt;
uint32_t time_elapsed = 0;&lt;br /&gt;
&lt;br /&gt;
void test7()&lt;br /&gt;
{&lt;br /&gt;
	start();&lt;br /&gt;
	uint32_t consumer = 0;&lt;br /&gt;
	for (uint32_t i = 0; i &amp;lt; 250000; i++)&lt;br /&gt;
	{&lt;br /&gt;
		consumer++;&lt;br /&gt;
	}&lt;br /&gt;
	time_elapsed = stop();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
док је датотека &amp;lt;code&amp;gt;test.h&amp;lt;/code&amp;gt; изгледала овако:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *  SADRZAJ OVE DATOTEKE NE MENJATI&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#ifndef _TEST_H_&lt;br /&gt;
#define _TEST_H_&lt;br /&gt;
&lt;br /&gt;
extern void test4();&lt;br /&gt;
extern void test5();&lt;br /&gt;
extern void test6_irq0();&lt;br /&gt;
extern void test6_irq1();&lt;br /&gt;
extern void test6_irq2();&lt;br /&gt;
extern void test7();&lt;br /&gt;
&lt;br /&gt;
#endif /* _TEST_H_ */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Линкерска скрипта ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MEMORY&lt;br /&gt;
{&lt;br /&gt;
	FLASH(rx) : ORIGIN = 0x08000000, LENGTH = 32K&lt;br /&gt;
	SRAM(rwx) : ORIGIN = 0x20000000, LENGTH = 10K&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
SECTIONS&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
	.vector_table :&lt;br /&gt;
	{&lt;br /&gt;
		*(.vector_table)&lt;br /&gt;
	} &amp;gt; FLASH&lt;br /&gt;
&lt;br /&gt;
	.text :&lt;br /&gt;
	{&lt;br /&gt;
		*(.text)&lt;br /&gt;
	} &amp;gt; FLASH&lt;br /&gt;
&lt;br /&gt;
	.rodata :&lt;br /&gt;
	{&lt;br /&gt;
		*(.rodata)&lt;br /&gt;
	} &amp;gt; FLASH&lt;br /&gt;
&lt;br /&gt;
	.data :&lt;br /&gt;
	{&lt;br /&gt;
		_vma_data_start = .;&lt;br /&gt;
		*(.data)&lt;br /&gt;
		_vma_data_end = .;&lt;br /&gt;
	} &amp;gt; SRAM AT&amp;gt; FLASH&lt;br /&gt;
	_lma_data_start = LOADADDR(.data);&lt;br /&gt;
&lt;br /&gt;
	.bss :&lt;br /&gt;
	{&lt;br /&gt;
		*(.bss)&lt;br /&gt;
	} &amp;gt; SRAM&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;Makefile&#039;&#039; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;makefile&amp;quot;&amp;gt;&lt;br /&gt;
PROGRAM = program&lt;br /&gt;
BUILD_DIR = build&lt;br /&gt;
DEBUG_ENABLED = 1&lt;br /&gt;
&lt;br /&gt;
SOURCE_C_LIST = \&lt;br /&gt;
	src/main.c \&lt;br /&gt;
	src/test.c&lt;br /&gt;
&lt;br /&gt;
SOURCE_S_LIST = \&lt;br /&gt;
	src/startup.s&lt;br /&gt;
&lt;br /&gt;
INCLUDE_LIST = -Iinc&lt;br /&gt;
&lt;br /&gt;
CC = arm-none-eabi-gcc -c&lt;br /&gt;
AS = arm-none-eabi-gcc -c -x assembler&lt;br /&gt;
LD = arm-none-eabi-ld&lt;br /&gt;
HX = arm-none-eabi-objcopy -O ihex&lt;br /&gt;
&lt;br /&gt;
LINKER_SCRIPT = linker_script.ld&lt;br /&gt;
&lt;br /&gt;
OBJECTS_LIST =&lt;br /&gt;
OBJECTS_LIST += $(addprefix $(BUILD_DIR)/, $(notdir $(SOURCE_C_LIST:.c=.o)))&lt;br /&gt;
OBJECTS_LIST += $(addprefix $(BUILD_DIR)/, $(notdir $(SOURCE_S_LIST:.s=.o)))&lt;br /&gt;
vpath %.c $(sort $(dir $(SOURCE_C_LIST)))&lt;br /&gt;
vpath %.s $(sort $(dir $(SOURCE_S_LIST)))&lt;br /&gt;
&lt;br /&gt;
MCU = -mcpu=cortex-m3 -mthumb&lt;br /&gt;
FLAGS_DEBUG = -g -gdwarf-2 -fdebug-prefix-map==../&lt;br /&gt;
WARNINGS = -Wall -Wextra&lt;br /&gt;
&lt;br /&gt;
FLAGS_AS =&lt;br /&gt;
FLAGS_AS += $(MCU)&lt;br /&gt;
FLAGS_AS += $(WARNINGS)&lt;br /&gt;
ifeq ($(DEBUG_ENABLED), 1)&lt;br /&gt;
FLAGS_AS += $(FLAGS_DEBUG)&lt;br /&gt;
endif&lt;br /&gt;
FLAGS_AS += -mlong-calls&lt;br /&gt;
&lt;br /&gt;
FLAGS_CC =&lt;br /&gt;
FLAGS_CC += $(MCU)&lt;br /&gt;
FLAGS_CC += $(WARNINGS)&lt;br /&gt;
FLAGS_CC += $(INCLUDE_LIST)&lt;br /&gt;
ifeq ($(DEBUG_ENABLED), 1)&lt;br /&gt;
FLAGS_CC += $(FLAGS_DEBUG)&lt;br /&gt;
endif&lt;br /&gt;
FLAGS_CC += -MMD -MP&lt;br /&gt;
FLAGS_CC += -mlong-calls&lt;br /&gt;
&lt;br /&gt;
all: $(BUILD_DIR)/$(PROGRAM).elf $(BUILD_DIR)/$(PROGRAM).hex&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/$(PROGRAM).hex: $(BUILD_DIR)/$(PROGRAM).elf&lt;br /&gt;
	$(HX) $(&amp;lt;) $(@)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/$(PROGRAM).elf: $(OBJECTS_LIST) $(LINKER_SCRIPT)&lt;br /&gt;
	$(LD) -T $(LINKER_SCRIPT) -o $(@) $(OBJECTS_LIST)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/%.o: %.s makefile | $(BUILD_DIR)&lt;br /&gt;
	$(AS) $(FLAGS_AS) -o $(@) $(&amp;lt;)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR)/%.o: %.c makefile | $(BUILD_DIR)&lt;br /&gt;
	$(CC) $(FLAGS_CC) -o $(@) $(&amp;lt;)&lt;br /&gt;
&lt;br /&gt;
$(BUILD_DIR):&lt;br /&gt;
	mkdir -p $(BUILD_DIR)&lt;br /&gt;
&lt;br /&gt;
clean:&lt;br /&gt;
	rm -rf $(BUILD_DIR)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-include $(wildcard $(BUILD_DIR)/*.d)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;startup.s&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
.cpu cortex-m3&lt;br /&gt;
.fpu softvfp&lt;br /&gt;
.syntax unified&lt;br /&gt;
.thumb&lt;br /&gt;
&lt;br /&gt;
.section .vector_table, &amp;quot;a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
.extern main&lt;br /&gt;
.extern systick_handler&lt;br /&gt;
.extern test5&lt;br /&gt;
.extern test6_irq0&lt;br /&gt;
.extern test6_irq1&lt;br /&gt;
.extern test6_irq2&lt;br /&gt;
&lt;br /&gt;
.word 0x20002800&lt;br /&gt;
.word main&lt;br /&gt;
.rept 12&lt;br /&gt;
	.word infinite_loop&lt;br /&gt;
.endr&lt;br /&gt;
.word test5&lt;br /&gt;
.word systick_handler&lt;br /&gt;
.word test6_irq0&lt;br /&gt;
.word test6_irq1&lt;br /&gt;
.word test6_irq2&lt;br /&gt;
.rept 65&lt;br /&gt;
	.word infinite_loop&lt;br /&gt;
.endr&lt;br /&gt;
&lt;br /&gt;
.text&lt;br /&gt;
infinite_loop:&lt;br /&gt;
	b infinite_loop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;main.c&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;nvic.h&amp;quot;&lt;br /&gt;
#include &amp;quot;scb.h&amp;quot;&lt;br /&gt;
#include &amp;quot;stk.h&amp;quot;&lt;br /&gt;
#include &amp;quot;test.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
uint32_t millis;&lt;br /&gt;
&lt;br /&gt;
void start() {&lt;br /&gt;
	millis = 0;&lt;br /&gt;
	STK-&amp;gt;VAL = 0;&lt;br /&gt;
	STK-&amp;gt;LOAD = 8000 - 1;&lt;br /&gt;
	STK-&amp;gt;CTRL |= STK_CTRL_CLKSOURCE | STK_CTRL_ENABLE | STK_CTRL_TICKINT;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
uint32_t stop() {&lt;br /&gt;
	STK-&amp;gt;CTRL &amp;amp;= ~(STK_CTRL_CLKSOURCE | STK_CTRL_ENABLE | STK_CTRL_TICKINT);&lt;br /&gt;
	return millis;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void systick_handler() {&lt;br /&gt;
	++millis;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
extern char _vma_data_start;&lt;br /&gt;
extern char _vma_data_end;&lt;br /&gt;
extern char _lma_data_start;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
	// Kopiranje podataka&lt;br /&gt;
	for (char *data_src = &amp;amp;_lma_data_start, *data_dst = &amp;amp;_vma_data_start; data_dst != &amp;amp;_vma_data_end; *(data_dst++) = *(data_src++));&lt;br /&gt;
	// Poziv test funkcije kako je rečeno&lt;br /&gt;
	test4();&lt;br /&gt;
	// Podešavanje prioriteta: xx.yy (x - grupa, y - podgrupa)&lt;br /&gt;
	SCB-&amp;gt;AIRCR = (0x5FA &amp;lt;&amp;lt; 16) | (5 &amp;lt;&amp;lt; 8);&lt;br /&gt;
	// Postavljanje prioriteta za PendSV&lt;br /&gt;
	SCB-&amp;gt;SHPR3 = (0xF0 &amp;lt;&amp;lt; 16);&lt;br /&gt;
	// Postavljanje pending bita za PendSV&lt;br /&gt;
	SCB-&amp;gt;ICSR |= 0x10000000;&lt;br /&gt;
	// Omogućavanje IRQ2..0&lt;br /&gt;
	NVIC-&amp;gt;ISER[0] |= 0x7;&lt;br /&gt;
	// Postavljanje prioriteta za IRQ2..0&lt;br /&gt;
	NVIC-&amp;gt;IPR[0] = (0b10000000 &amp;lt;&amp;lt; 16) | (0b10110000 &amp;lt;&amp;lt; 8) | (0b10010000 &amp;lt;&amp;lt; 0);&lt;br /&gt;
	// Postavljanje pending bita za IRQ2..0&lt;br /&gt;
	NVIC-&amp;gt;ISPR[0] |= 0x7;&lt;br /&gt;
	// STK testiranje&lt;br /&gt;
	test7();&lt;br /&gt;
	// Vrtimo se do kraja izvršavanja&lt;br /&gt;
	while (1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Тестирање ===&lt;br /&gt;
Функционалности предвиђене задатком се тестирају на следећи начин (приказано референтним снимком на првом колоквијуму):&lt;br /&gt;
# Када се уђе у функцију &amp;lt;code&amp;gt;test4&amp;lt;/code&amp;gt;, проверити садржај RAM како би видели да ли се податак &amp;lt;code&amp;gt;VMA:RAM, LMA:FLASH&amp;lt;/code&amp;gt; исправно копирао.&lt;br /&gt;
# Када се уђе у функцију &amp;lt;code&amp;gt;test5&amp;lt;/code&amp;gt;, отворити &#039;&#039;Registers&#039;&#039; прозор и проверити да ли &amp;lt;code&amp;gt;Pri&amp;lt;/code&amp;gt; ред приказује &amp;lt;code&amp;gt;C0.30&amp;lt;/code&amp;gt; као вредност.&lt;br /&gt;
# Проверити да ли се у &amp;lt;code&amp;gt;test6_irqX&amp;lt;/code&amp;gt; функције улази редом &#039;&#039;IRQ2&#039;&#039;, &#039;&#039;IRQ0&#039;&#039;, &#039;&#039;IRQ1&#039;&#039;.&lt;br /&gt;
# Забележити време које &#039;&#039;Proteus&#039;&#039; пријављује када се дође до линије са позивом &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt;, затим наставити до линије са позивом &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; и проверити да ли је у &amp;lt;code&amp;gt;time_elapsed&amp;lt;/code&amp;gt; променљиву уписана разлика тренутног и забележеног времена у милисекундама.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Микропроцесорски системи]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7826</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7826"/>
		<updated>2024-09-18T06:48:26Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Saveti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih moze da se odvija preko PROFINET protokola, ali mora takodje biti preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulacija thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u;                   // upravljanje&lt;br /&gt;
    float u_min = 0.0;         // minimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_max = 100.0;       // maksimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_scaled_max = 4095; // maksimalna skalirana digitalna vrednost upravljanja koju moze da primi digitalno-analogni konvertor&lt;br /&gt;
    float u_man;               // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0;             // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0;             // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0;             // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current;          // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
            &lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; u_max)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_max;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; u_min)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_min;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = true;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            if (u_man &amp;lt; u_min)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_min;&lt;br /&gt;
            }&lt;br /&gt;
            else if (u_man &amp;gt; u_max)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_max;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                u = u_man;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7825</id>
		<title>Микропроцесорски системи/Теорија</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7825"/>
		<updated>2024-09-17T20:32:55Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Условно извршавање инструкција */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Питалице&#039;&#039;&#039; долазе на теоријским деловима обе предиспитне обавезе и свих испита на предмету. Типови питања су јако слични између рокова, па су зато испод набројана типична питања која се могу појавити на теоријском делу испита, дати примери питања и набројани корисни ресурси одакле се може прочитати више о њима. Уколико објашњења дата овде нису довољно јасна, погледати примере задатака ради разјашњења.&lt;br /&gt;
&lt;br /&gt;
== Први блок ==&lt;br /&gt;
=== Улазак и излазак из прекидне рутине ===&lt;br /&gt;
Код овог типа питања битно је разумети како функционише неколико механизама у &#039;&#039;Cortex-M3&#039;&#039; микропроцесору. Текст испод парафразиран је из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; са страница 37 и 38:&lt;br /&gt;
* &#039;&#039;&#039;Stacking:&#039;&#039;&#039; операција чувања одређених регистара на стеку приликом уласка у прекидну рутину. На стеку се чувају следећи регистри (то се зове &#039;&#039;stack frame&#039;&#039;) у редоследу који је дат:&lt;br /&gt;
** &#039;&#039;R0&#039;&#039;, &#039;&#039;R1&#039;&#039;, &#039;&#039;R2&#039;&#039;, &#039;&#039;R3&#039;&#039; и &#039;&#039;R12&#039;&#039;&lt;br /&gt;
** Повратна адреса прекидне рутине (односно &#039;&#039;PC&#039;&#039; регистар)&lt;br /&gt;
** Програмски статусни регистар (&#039;&#039;PSR&#039;&#039;)&lt;br /&gt;
** &#039;&#039;Link register&#039;&#039; (&#039;&#039;LR&#039;&#039;)&lt;br /&gt;
*: Након &#039;&#039;stacking&#039;&#039;, &#039;&#039;SP&#039;&#039; показује на најнижу адресу у &#039;&#039;stack frame&#039;&#039; (односно на &#039;&#039;R0&#039;&#039;). У &#039;&#039;CCR&#039;&#039; регистру бит &#039;&#039;STKALIGN&#039;&#039; може бити постављен на 1, у ком случају се дешава поравнање стека на дуплу реч.&lt;br /&gt;
*: За овај механизам углавном буде дат програм на асемблеру који са стека учита одређени податак, па се мора одредити која је вредност тог податка.&lt;br /&gt;
* &#039;&#039;&#039;Late-arriving:&#039;&#039;&#039; Паралелно са &#039;&#039;stacking&#039;&#039; се дохвата адреса руковаоца у IVT, па ако се до учитавања прве инструкције у прекидној рутини појави изузетак вишег групног приоритета прелази се на његово извршавање.&lt;br /&gt;
* &#039;&#039;&#039;Tail-chaining:&#039;&#039;&#039; ако након извршавања тренутне прекидне рутине постоји следећи прекид који испуњава услове извршавања, прелази се на његово извршавање без уклањања вредности из &#039;&#039;stack frame&#039;&#039;.&lt;br /&gt;
*: За овај механизам питања углавном буду бројање колико пута се десио &#039;&#039;tail-chaining&#039;&#039; под одређеним условима.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Stacking:&#039;&#039; [[Микропроцесорски системи/К1 2022#3. задатак|3. задатак, К1 2022]]&lt;br /&gt;
* &#039;&#039;Tail-chaining:&#039;&#039; [[Микропроцесорски системи/К1 2022#2. задатак|2. задатак, К1 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Почетна инструкција програма ===&lt;br /&gt;
Адреса адресе прве инструкције програма јесте 0x00000004, тако да је адреса прве инструкције програма штагод да пише у меморији на адреси 0x00000004. Ова једноставна питалица може често да се појави на различитим роковима и одговор на њу може се наћи на страни 15 од &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#1. задатак|1. задатак, јул 2022]], 1. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Условно извршавање инструкција ===&lt;br /&gt;
Овај механизам објашњен је на страни 56 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 3.3.7 &#039;&#039;Conditional execution&#039;&#039;. Питања из ове области обично садрже барем једну &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt; инструкцију и неке комбинације &amp;lt;code&amp;gt;add&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sub&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cmp&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;mov&amp;lt;/code&amp;gt; инструкција са суфиксом &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; (ажурира програмски статусни регистар!) или без њега (не ажурира програмски статусни регистар!), а на крају се тражи вредност у неком од коришћених регистара. Треба нагласити да &amp;lt;code&amp;gt;cmp&amp;lt;/code&amp;gt; инструкција увек ажурира програмски статусни регистар.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 1|1. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#2. задатак|2. задатак, јул 2022]], 2. задатак, јануар 2023&lt;br /&gt;
* (&#039;&#039;извршавање инструкција генерално&#039;&#039;) [[Микропроцесорски системи/К1 2022#1. задатак|1. задатак, К1 2022]]&lt;br /&gt;
* [[#Питање 1|Некатегорисано питање 1]]&lt;br /&gt;
* [[#Питање 2|Некатегорисано питање 2]]&lt;br /&gt;
* Примери из документације&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Bit-band alias&#039;&#039; ===&lt;br /&gt;
У овом типу задатка тражи се да се за неки бит у SRAM одреди &#039;&#039;bit-band alias&#039;&#039; адреса. На страни 27 &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; објашњен је овај механизам и наведене следеће формуле:&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_offset = (byte_offset x 32) + (bit_number x 4)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_addr = bit_band_base + bit_word_offset&amp;lt;/code&amp;gt;&lt;br /&gt;
где је:&lt;br /&gt;
* &amp;lt;code&amp;gt;byte_offset&amp;lt;/code&amp;gt; померај неког бајта од почетка SRAM (SRAM почиње на 0x20000000),&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_number&amp;lt;/code&amp;gt; број бита који се тражи (дат у задатку)&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_band_base&amp;lt;/code&amp;gt; почетак &#039;&#039;bit-band alias&#039;&#039; региона (почиње на 0x22000000)&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 2|2. задатак, пробни тест 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Режими рада ===&lt;br /&gt;
Иако нема примера овог питања, може да дође питање у ком режиму се налази процесор приликом извршавања прекидне рутине (&#039;&#039;handler mode&#039;&#039;), а у ком приликом главног програма (&#039;&#039;thread mode&#039;&#039;). Овај податак се може наћи на страни 13 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 2.1.1 &#039;&#039;Processor mode and privilege levels for software execution&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Intel HEX&#039;&#039; формат ===&lt;br /&gt;
У оваквом задатку потребно је растумачити шта пише у једној &#039;&#039;Intel HEX&#039;&#039; датотеци за коју је дат садржај и истакнута синтакса. Опис овог формата може са наћи на [[wikipedia:Intel HEX|Википедији]], али такође и на [https://developer.arm.com/documentation/ka003292/latest &#039;&#039;ARM&#039;&#039;-овом] и [https://www.intel.com/content/www/us/en/support/programmable/articles/000076770.html &#039;&#039;Intel&#039;&#039;-овом] сајту.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#1. задатак|1. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#1. задатак|1. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Иницијална вредност &#039;&#039;SP&#039;&#039; ===&lt;br /&gt;
Регистар &#039;&#039;SP&#039;&#039; своју иницијалну вредност добија са адресе 0x00000000. У овом типу задатка буде један асемблерски програм у коме се ради формирање IVT (чији је нулти улаз заправо вредност &#039;&#039;SP&#039;&#039;), а затим се у програму негде та вредност користи, и резултат извршавања зависи од те вредности. Главна идеја је прочитати вредност &#039;&#039;SP&#039;&#039; са прве локације у вектор табели из асемблерског програма.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#3. задатак|3. задатак, август 2022]], 4. задатак, К1 2022, 3. задатак, фебруар 2023&lt;br /&gt;
&lt;br /&gt;
=== Тренутна прекидна рутина ===&lt;br /&gt;
Још један чест задатак јесте асемблерски програм у којем се изазове одређени прекид на неки начин, а затим се у прекидној рутини у одређени регистар упише вредност IPSR и пита која је вредност уписана. Овај тип задатка није превише шаблонски у делу где се изазива прекид, али када се сазна који је прекид изазван његов број се лако може сазнати из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, страна 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#4. задатак|4. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#4. задатак|4. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Одређивање изузетка на основу описа ===&lt;br /&gt;
У овом типу задатка дат је опис једног типа изузетка у &#039;&#039;Cortex-M3&#039;&#039; процесору, практично преведен из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, са стране 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;, и дато је више назива изузетака за бирање.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#2. задатак|2. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#2. задатак|2. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
== Други блок ==&lt;br /&gt;
=== Пинови за активацију тајмера ===&lt;br /&gt;
У овом типу питања траже се пинови чија одговарајућа промена окида односно стартује бројање на одређеном тајмеру микроконтролера. На фигурама са страна 294 и 367 из &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да у сигналу TRGI учествују &amp;lt;code&amp;gt;TIMx_ETR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TIMx_CH1&amp;lt;/code&amp;gt; (преко TI1FP1) и &amp;lt;code&amp;gt;TIMx_CH2&amp;lt;/code&amp;gt; (преко TI2FP2), а на странама 178 и 179 можемо пронаћи одговарајућа мапирања пинова за те канале микроконтролера. У теорији, у том сигналу би могао да учествује и сигнал &amp;lt;code&amp;gt;TIMx_CH3&amp;lt;/code&amp;gt; (преко XOR кола које улази у TI1) али ово никада није означено као тачан одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 3|3. задатак, пробни тест 2022]] (&#039;&#039;TIM2&#039;&#039;)&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#3. задатак|3. задатак, К2 2022]], 4. задатак, јул 2022 (&#039;&#039;TIM1&#039;&#039;), 4. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Фреквенција HCLK ===&lt;br /&gt;
Постоји неколико варијанти овог питања где је дата фреквенција интерних или екстерних осцилатора а пита се за максималну радну фреквенцију (HCLK). Одговор на ово питање се увек може наћи на фигури 8 са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, где ти сигнали такта обично пролазе кроз PLL и евентуално се одсецају на одговарајуће максимуме као што је прописано шемом. Обратити пажњу и на текст испод фигуре!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 4|4. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#3. задатак|3. задатак, јул 2022]], 3. задатак, јануар 2023&lt;br /&gt;
* [[#Питање 3|Некатегорисано питање 3]]&lt;br /&gt;
&lt;br /&gt;
=== Број догађаја пред UEV ===&lt;br /&gt;
Овај тип питања пита колико пута се којих догађаја мора десити како би се десио &#039;&#039;Update Event&#039;&#039; (UEV) неког тајмера. Одговор је суштински да треба да се деси за један више пута него што је вредност &#039;&#039;repetition counter&#039;&#039;, при бројању навише се дешава &#039;&#039;counter overflow&#039;&#039;, док се при бројању наниже дешава &#039;&#039;counter underflow&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#5. задатак|5. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#5. задатак|5. задатак, фебруар 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Начин бројања тајмера ===&lt;br /&gt;
Иако нема забележеног тачног текста овог питања, може да дође питање да се означи на који начин може да броји тајмер, и на то је потребно одговорити:&lt;br /&gt;
# навише,&lt;br /&gt;
# наниже, и&lt;br /&gt;
# комбиновано.&lt;br /&gt;
&lt;br /&gt;
=== Активирање EXTI преко RTSR ===&lt;br /&gt;
Питање пита за вредност EXTI_RTSR регистра која мора бити уписана како би се омогућили прекиди на датим пиновима. На страни 212. од &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да за сваку &#039;&#039;EXTI&#039;&#039; линију постоји по један бит у &#039;&#039;RTSR&#039;&#039; регистру, док на страни 210. можемо видети да пиновима са индексом 0 одговара линија 0, пиновима са индексом 1 одговара линија 1, и тако даље. На основу тога, поставимо одговарајуће битове броја на основу датих пинова, и то је тражени одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#1. задатак|1. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Auto-reload&#039;&#039; регистар ===&lt;br /&gt;
Често умеју да дођу питања где су фигуре 59, 60, 70 или 71 исечене на неком делу и студенти се питају за одговарајуће вредности након исеченог дела. За овакво питање је потребно пронаћи одговарајућу фигуру из документације и видети на који начин измена &#039;&#039;Auto-reload preload&#039;&#039; регистра утиче на &#039;&#039;shadow&#039;&#039; регистар.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#4. задатак|4. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Магистрале за периферије ===&lt;br /&gt;
Могу да дођу питања која питају на којој се магистрали налази одређена периферија. Ова информација се може наћи на неколико места у &#039;&#039;STM32F103 Reference Manual&#039;&#039;, а најбоље на страни 50, 3.3 &#039;&#039;Memory map&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#2. задатак|2. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
== Трећи блок ==&lt;br /&gt;
=== &#039;&#039;USART&#039;&#039; грешке ===&lt;br /&gt;
Као једино често теоријско питање из овог блока може се издвојити питање о грешкама приликом спровођења &#039;&#039;USART&#039;&#039; протокола. &#039;&#039;USART&#039;&#039; комуникација изгледа тако што се магистрала држи на вредности 1 док по њој нема комуникације, затим почетни бит поруке има вредност 0 (&#039;&#039;start bit&#039;&#039;), после њега долази одређен број битова података (дат у задатку) у који је (опционо) укључен и бит парности (последњи међу битовима података), и на крају долази &#039;&#039;stop bit&#039;&#039; који мора имати вредност 1. Овде су могуће две грешке протокола:&lt;br /&gt;
* &#039;&#039;&#039;Parity error:&#039;&#039;&#039; у задатку је дато да ли се ради о парној парности или непарној парности, тако да ако је збир битова података (укључујући и бит парности) паран приликом непарне парности, или непаран приликом парне парности, дошло је до ове грешке.&lt;br /&gt;
* &#039;&#039;&#039;Framing error:&#039;&#039;&#039; ова грешка се десила уколико на месту где треба да стоји &#039;&#039;stop bit&#039;&#039; не стоји вредност 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#5. задатак|5. задатак, јул 2022]], 5. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
== Некатегорисана питања ==&lt;br /&gt;
Следећа питања не припадају ниједном року, али спадају у једну од категорија питања изнад.&lt;br /&gt;
&lt;br /&gt;
=== Питање 1 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 6&lt;br /&gt;
mov r1, 9&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
itttt gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 5&lt;br /&gt;
addgt r1, r1, r0&lt;br /&gt;
subgt r1, r1, #4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0xFFFFFFFE&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 2 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 5&lt;br /&gt;
mov r1, 7&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
ittet gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 3&lt;br /&gt;
addle r1, r1, r0&lt;br /&gt;
subgt r1, r1, 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x00000004&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 3 ===&lt;br /&gt;
Колика је максимална радна фреквенција (&#039;&#039;HCLK&#039;&#039;) микроконтролера &#039;&#039;STM32F103R6&#039;&#039; уколико се користи &#039;&#039;HSE&#039;&#039; осцилатор који на свом излазу производи сигнал такта фреквенције 8MHz? Одговор унети у мегахерцима без навођења ознаке јединице.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;72&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Као што пише на фигури са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, &#039;&#039;HSE&#039;&#039; такт може проћи кроз PLL који може да његову фреквенцију помножи до 16 пута, али је максимална фреквенција &#039;&#039;HCLK&#039;&#039; 72MHz, што је мање од 128MHz колико би иначе могло да буде.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Микропроцесорски системи]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7824</id>
		<title>Микропроцесорски системи/Теорија</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7824"/>
		<updated>2024-09-17T20:32:25Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Условно извршавање инструкција */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Питалице&#039;&#039;&#039; долазе на теоријским деловима обе предиспитне обавезе и свих испита на предмету. Типови питања су јако слични између рокова, па су зато испод набројана типична питања која се могу појавити на теоријском делу испита, дати примери питања и набројани корисни ресурси одакле се може прочитати више о њима. Уколико објашњења дата овде нису довољно јасна, погледати примере задатака ради разјашњења.&lt;br /&gt;
&lt;br /&gt;
== Први блок ==&lt;br /&gt;
=== Улазак и излазак из прекидне рутине ===&lt;br /&gt;
Код овог типа питања битно је разумети како функционише неколико механизама у &#039;&#039;Cortex-M3&#039;&#039; микропроцесору. Текст испод парафразиран је из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; са страница 37 и 38:&lt;br /&gt;
* &#039;&#039;&#039;Stacking:&#039;&#039;&#039; операција чувања одређених регистара на стеку приликом уласка у прекидну рутину. На стеку се чувају следећи регистри (то се зове &#039;&#039;stack frame&#039;&#039;) у редоследу који је дат:&lt;br /&gt;
** &#039;&#039;R0&#039;&#039;, &#039;&#039;R1&#039;&#039;, &#039;&#039;R2&#039;&#039;, &#039;&#039;R3&#039;&#039; и &#039;&#039;R12&#039;&#039;&lt;br /&gt;
** Повратна адреса прекидне рутине (односно &#039;&#039;PC&#039;&#039; регистар)&lt;br /&gt;
** Програмски статусни регистар (&#039;&#039;PSR&#039;&#039;)&lt;br /&gt;
** &#039;&#039;Link register&#039;&#039; (&#039;&#039;LR&#039;&#039;)&lt;br /&gt;
*: Након &#039;&#039;stacking&#039;&#039;, &#039;&#039;SP&#039;&#039; показује на најнижу адресу у &#039;&#039;stack frame&#039;&#039; (односно на &#039;&#039;R0&#039;&#039;). У &#039;&#039;CCR&#039;&#039; регистру бит &#039;&#039;STKALIGN&#039;&#039; може бити постављен на 1, у ком случају се дешава поравнање стека на дуплу реч.&lt;br /&gt;
*: За овај механизам углавном буде дат програм на асемблеру који са стека учита одређени податак, па се мора одредити која је вредност тог податка.&lt;br /&gt;
* &#039;&#039;&#039;Late-arriving:&#039;&#039;&#039; Паралелно са &#039;&#039;stacking&#039;&#039; се дохвата адреса руковаоца у IVT, па ако се до учитавања прве инструкције у прекидној рутини појави изузетак вишег групног приоритета прелази се на његово извршавање.&lt;br /&gt;
* &#039;&#039;&#039;Tail-chaining:&#039;&#039;&#039; ако након извршавања тренутне прекидне рутине постоји следећи прекид који испуњава услове извршавања, прелази се на његово извршавање без уклањања вредности из &#039;&#039;stack frame&#039;&#039;.&lt;br /&gt;
*: За овај механизам питања углавном буду бројање колико пута се десио &#039;&#039;tail-chaining&#039;&#039; под одређеним условима.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Stacking:&#039;&#039; [[Микропроцесорски системи/К1 2022#3. задатак|3. задатак, К1 2022]]&lt;br /&gt;
* &#039;&#039;Tail-chaining:&#039;&#039; [[Микропроцесорски системи/К1 2022#2. задатак|2. задатак, К1 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Почетна инструкција програма ===&lt;br /&gt;
Адреса адресе прве инструкције програма јесте 0x00000004, тако да је адреса прве инструкције програма штагод да пише у меморији на адреси 0x00000004. Ова једноставна питалица може често да се појави на различитим роковима и одговор на њу може се наћи на страни 15 од &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#1. задатак|1. задатак, јул 2022]], 1. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Условно извршавање инструкција ===&lt;br /&gt;
Овај механизам објашњен је на страни 56 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 3.3.7 &#039;&#039;Conditional execution&#039;&#039;. Питања из ове области обично садрже барем једну &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt; инструкцију и неке комбинације &amp;lt;code&amp;gt;add&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sub&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cmp&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;mov&amp;lt;/code&amp;gt; инструкција са суфиксом &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; (ажурира програмски статусни регистар!) или без њега (не ажурира програмски статусни регистар!), а на крају се тражи вредност у неком од коришћених регистара. &amp;lt;code&amp;gt;cmp&amp;lt;/code&amp;gt; инструкција увек ажурира програмски статусни регистар.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 1|1. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#2. задатак|2. задатак, јул 2022]], 2. задатак, јануар 2023&lt;br /&gt;
* (&#039;&#039;извршавање инструкција генерално&#039;&#039;) [[Микропроцесорски системи/К1 2022#1. задатак|1. задатак, К1 2022]]&lt;br /&gt;
* [[#Питање 1|Некатегорисано питање 1]]&lt;br /&gt;
* [[#Питање 2|Некатегорисано питање 2]]&lt;br /&gt;
* Примери из документације&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Bit-band alias&#039;&#039; ===&lt;br /&gt;
У овом типу задатка тражи се да се за неки бит у SRAM одреди &#039;&#039;bit-band alias&#039;&#039; адреса. На страни 27 &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; објашњен је овај механизам и наведене следеће формуле:&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_offset = (byte_offset x 32) + (bit_number x 4)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_addr = bit_band_base + bit_word_offset&amp;lt;/code&amp;gt;&lt;br /&gt;
где је:&lt;br /&gt;
* &amp;lt;code&amp;gt;byte_offset&amp;lt;/code&amp;gt; померај неког бајта од почетка SRAM (SRAM почиње на 0x20000000),&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_number&amp;lt;/code&amp;gt; број бита који се тражи (дат у задатку)&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_band_base&amp;lt;/code&amp;gt; почетак &#039;&#039;bit-band alias&#039;&#039; региона (почиње на 0x22000000)&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 2|2. задатак, пробни тест 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Режими рада ===&lt;br /&gt;
Иако нема примера овог питања, може да дође питање у ком режиму се налази процесор приликом извршавања прекидне рутине (&#039;&#039;handler mode&#039;&#039;), а у ком приликом главног програма (&#039;&#039;thread mode&#039;&#039;). Овај податак се може наћи на страни 13 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 2.1.1 &#039;&#039;Processor mode and privilege levels for software execution&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Intel HEX&#039;&#039; формат ===&lt;br /&gt;
У оваквом задатку потребно је растумачити шта пише у једној &#039;&#039;Intel HEX&#039;&#039; датотеци за коју је дат садржај и истакнута синтакса. Опис овог формата може са наћи на [[wikipedia:Intel HEX|Википедији]], али такође и на [https://developer.arm.com/documentation/ka003292/latest &#039;&#039;ARM&#039;&#039;-овом] и [https://www.intel.com/content/www/us/en/support/programmable/articles/000076770.html &#039;&#039;Intel&#039;&#039;-овом] сајту.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#1. задатак|1. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#1. задатак|1. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Иницијална вредност &#039;&#039;SP&#039;&#039; ===&lt;br /&gt;
Регистар &#039;&#039;SP&#039;&#039; своју иницијалну вредност добија са адресе 0x00000000. У овом типу задатка буде један асемблерски програм у коме се ради формирање IVT (чији је нулти улаз заправо вредност &#039;&#039;SP&#039;&#039;), а затим се у програму негде та вредност користи, и резултат извршавања зависи од те вредности. Главна идеја је прочитати вредност &#039;&#039;SP&#039;&#039; са прве локације у вектор табели из асемблерског програма.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#3. задатак|3. задатак, август 2022]], 4. задатак, К1 2022, 3. задатак, фебруар 2023&lt;br /&gt;
&lt;br /&gt;
=== Тренутна прекидна рутина ===&lt;br /&gt;
Још један чест задатак јесте асемблерски програм у којем се изазове одређени прекид на неки начин, а затим се у прекидној рутини у одређени регистар упише вредност IPSR и пита која је вредност уписана. Овај тип задатка није превише шаблонски у делу где се изазива прекид, али када се сазна који је прекид изазван његов број се лако може сазнати из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, страна 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#4. задатак|4. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#4. задатак|4. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Одређивање изузетка на основу описа ===&lt;br /&gt;
У овом типу задатка дат је опис једног типа изузетка у &#039;&#039;Cortex-M3&#039;&#039; процесору, практично преведен из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, са стране 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;, и дато је више назива изузетака за бирање.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#2. задатак|2. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#2. задатак|2. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
== Други блок ==&lt;br /&gt;
=== Пинови за активацију тајмера ===&lt;br /&gt;
У овом типу питања траже се пинови чија одговарајућа промена окида односно стартује бројање на одређеном тајмеру микроконтролера. На фигурама са страна 294 и 367 из &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да у сигналу TRGI учествују &amp;lt;code&amp;gt;TIMx_ETR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TIMx_CH1&amp;lt;/code&amp;gt; (преко TI1FP1) и &amp;lt;code&amp;gt;TIMx_CH2&amp;lt;/code&amp;gt; (преко TI2FP2), а на странама 178 и 179 можемо пронаћи одговарајућа мапирања пинова за те канале микроконтролера. У теорији, у том сигналу би могао да учествује и сигнал &amp;lt;code&amp;gt;TIMx_CH3&amp;lt;/code&amp;gt; (преко XOR кола које улази у TI1) али ово никада није означено као тачан одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 3|3. задатак, пробни тест 2022]] (&#039;&#039;TIM2&#039;&#039;)&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#3. задатак|3. задатак, К2 2022]], 4. задатак, јул 2022 (&#039;&#039;TIM1&#039;&#039;), 4. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Фреквенција HCLK ===&lt;br /&gt;
Постоји неколико варијанти овог питања где је дата фреквенција интерних или екстерних осцилатора а пита се за максималну радну фреквенцију (HCLK). Одговор на ово питање се увек може наћи на фигури 8 са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, где ти сигнали такта обично пролазе кроз PLL и евентуално се одсецају на одговарајуће максимуме као што је прописано шемом. Обратити пажњу и на текст испод фигуре!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 4|4. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#3. задатак|3. задатак, јул 2022]], 3. задатак, јануар 2023&lt;br /&gt;
* [[#Питање 3|Некатегорисано питање 3]]&lt;br /&gt;
&lt;br /&gt;
=== Број догађаја пред UEV ===&lt;br /&gt;
Овај тип питања пита колико пута се којих догађаја мора десити како би се десио &#039;&#039;Update Event&#039;&#039; (UEV) неког тајмера. Одговор је суштински да треба да се деси за један више пута него што је вредност &#039;&#039;repetition counter&#039;&#039;, при бројању навише се дешава &#039;&#039;counter overflow&#039;&#039;, док се при бројању наниже дешава &#039;&#039;counter underflow&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#5. задатак|5. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#5. задатак|5. задатак, фебруар 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Начин бројања тајмера ===&lt;br /&gt;
Иако нема забележеног тачног текста овог питања, може да дође питање да се означи на који начин може да броји тајмер, и на то је потребно одговорити:&lt;br /&gt;
# навише,&lt;br /&gt;
# наниже, и&lt;br /&gt;
# комбиновано.&lt;br /&gt;
&lt;br /&gt;
=== Активирање EXTI преко RTSR ===&lt;br /&gt;
Питање пита за вредност EXTI_RTSR регистра која мора бити уписана како би се омогућили прекиди на датим пиновима. На страни 212. од &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да за сваку &#039;&#039;EXTI&#039;&#039; линију постоји по један бит у &#039;&#039;RTSR&#039;&#039; регистру, док на страни 210. можемо видети да пиновима са индексом 0 одговара линија 0, пиновима са индексом 1 одговара линија 1, и тако даље. На основу тога, поставимо одговарајуће битове броја на основу датих пинова, и то је тражени одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#1. задатак|1. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Auto-reload&#039;&#039; регистар ===&lt;br /&gt;
Често умеју да дођу питања где су фигуре 59, 60, 70 или 71 исечене на неком делу и студенти се питају за одговарајуће вредности након исеченог дела. За овакво питање је потребно пронаћи одговарајућу фигуру из документације и видети на који начин измена &#039;&#039;Auto-reload preload&#039;&#039; регистра утиче на &#039;&#039;shadow&#039;&#039; регистар.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#4. задатак|4. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Магистрале за периферије ===&lt;br /&gt;
Могу да дођу питања која питају на којој се магистрали налази одређена периферија. Ова информација се може наћи на неколико места у &#039;&#039;STM32F103 Reference Manual&#039;&#039;, а најбоље на страни 50, 3.3 &#039;&#039;Memory map&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#2. задатак|2. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
== Трећи блок ==&lt;br /&gt;
=== &#039;&#039;USART&#039;&#039; грешке ===&lt;br /&gt;
Као једино често теоријско питање из овог блока може се издвојити питање о грешкама приликом спровођења &#039;&#039;USART&#039;&#039; протокола. &#039;&#039;USART&#039;&#039; комуникација изгледа тако што се магистрала држи на вредности 1 док по њој нема комуникације, затим почетни бит поруке има вредност 0 (&#039;&#039;start bit&#039;&#039;), после њега долази одређен број битова података (дат у задатку) у који је (опционо) укључен и бит парности (последњи међу битовима података), и на крају долази &#039;&#039;stop bit&#039;&#039; који мора имати вредност 1. Овде су могуће две грешке протокола:&lt;br /&gt;
* &#039;&#039;&#039;Parity error:&#039;&#039;&#039; у задатку је дато да ли се ради о парној парности или непарној парности, тако да ако је збир битова података (укључујући и бит парности) паран приликом непарне парности, или непаран приликом парне парности, дошло је до ове грешке.&lt;br /&gt;
* &#039;&#039;&#039;Framing error:&#039;&#039;&#039; ова грешка се десила уколико на месту где треба да стоји &#039;&#039;stop bit&#039;&#039; не стоји вредност 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#5. задатак|5. задатак, јул 2022]], 5. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
== Некатегорисана питања ==&lt;br /&gt;
Следећа питања не припадају ниједном року, али спадају у једну од категорија питања изнад.&lt;br /&gt;
&lt;br /&gt;
=== Питање 1 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 6&lt;br /&gt;
mov r1, 9&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
itttt gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 5&lt;br /&gt;
addgt r1, r1, r0&lt;br /&gt;
subgt r1, r1, #4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0xFFFFFFFE&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 2 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 5&lt;br /&gt;
mov r1, 7&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
ittet gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 3&lt;br /&gt;
addle r1, r1, r0&lt;br /&gt;
subgt r1, r1, 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x00000004&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 3 ===&lt;br /&gt;
Колика је максимална радна фреквенција (&#039;&#039;HCLK&#039;&#039;) микроконтролера &#039;&#039;STM32F103R6&#039;&#039; уколико се користи &#039;&#039;HSE&#039;&#039; осцилатор који на свом излазу производи сигнал такта фреквенције 8MHz? Одговор унети у мегахерцима без навођења ознаке јединице.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;72&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Као што пише на фигури са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, &#039;&#039;HSE&#039;&#039; такт може проћи кроз PLL који може да његову фреквенцију помножи до 16 пута, али је максимална фреквенција &#039;&#039;HCLK&#039;&#039; 72MHz, што је мање од 128MHz колико би иначе могло да буде.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Микропроцесорски системи]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7823</id>
		<title>Микропроцесорски системи/Теорија</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D0%BE%D1%80%D1%81%D0%BA%D0%B8_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%98%D0%B0&amp;diff=7823"/>
		<updated>2024-09-17T19:56:50Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Режими рада */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Питалице&#039;&#039;&#039; долазе на теоријским деловима обе предиспитне обавезе и свих испита на предмету. Типови питања су јако слични између рокова, па су зато испод набројана типична питања која се могу појавити на теоријском делу испита, дати примери питања и набројани корисни ресурси одакле се може прочитати више о њима. Уколико објашњења дата овде нису довољно јасна, погледати примере задатака ради разјашњења.&lt;br /&gt;
&lt;br /&gt;
== Први блок ==&lt;br /&gt;
=== Улазак и излазак из прекидне рутине ===&lt;br /&gt;
Код овог типа питања битно је разумети како функционише неколико механизама у &#039;&#039;Cortex-M3&#039;&#039; микропроцесору. Текст испод парафразиран је из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; са страница 37 и 38:&lt;br /&gt;
* &#039;&#039;&#039;Stacking:&#039;&#039;&#039; операција чувања одређених регистара на стеку приликом уласка у прекидну рутину. На стеку се чувају следећи регистри (то се зове &#039;&#039;stack frame&#039;&#039;) у редоследу који је дат:&lt;br /&gt;
** &#039;&#039;R0&#039;&#039;, &#039;&#039;R1&#039;&#039;, &#039;&#039;R2&#039;&#039;, &#039;&#039;R3&#039;&#039; и &#039;&#039;R12&#039;&#039;&lt;br /&gt;
** Повратна адреса прекидне рутине (односно &#039;&#039;PC&#039;&#039; регистар)&lt;br /&gt;
** Програмски статусни регистар (&#039;&#039;PSR&#039;&#039;)&lt;br /&gt;
** &#039;&#039;Link register&#039;&#039; (&#039;&#039;LR&#039;&#039;)&lt;br /&gt;
*: Након &#039;&#039;stacking&#039;&#039;, &#039;&#039;SP&#039;&#039; показује на најнижу адресу у &#039;&#039;stack frame&#039;&#039; (односно на &#039;&#039;R0&#039;&#039;). У &#039;&#039;CCR&#039;&#039; регистру бит &#039;&#039;STKALIGN&#039;&#039; може бити постављен на 1, у ком случају се дешава поравнање стека на дуплу реч.&lt;br /&gt;
*: За овај механизам углавном буде дат програм на асемблеру који са стека учита одређени податак, па се мора одредити која је вредност тог податка.&lt;br /&gt;
* &#039;&#039;&#039;Late-arriving:&#039;&#039;&#039; Паралелно са &#039;&#039;stacking&#039;&#039; се дохвата адреса руковаоца у IVT, па ако се до учитавања прве инструкције у прекидној рутини појави изузетак вишег групног приоритета прелази се на његово извршавање.&lt;br /&gt;
* &#039;&#039;&#039;Tail-chaining:&#039;&#039;&#039; ако након извршавања тренутне прекидне рутине постоји следећи прекид који испуњава услове извршавања, прелази се на његово извршавање без уклањања вредности из &#039;&#039;stack frame&#039;&#039;.&lt;br /&gt;
*: За овај механизам питања углавном буду бројање колико пута се десио &#039;&#039;tail-chaining&#039;&#039; под одређеним условима.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;Stacking:&#039;&#039; [[Микропроцесорски системи/К1 2022#3. задатак|3. задатак, К1 2022]]&lt;br /&gt;
* &#039;&#039;Tail-chaining:&#039;&#039; [[Микропроцесорски системи/К1 2022#2. задатак|2. задатак, К1 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Почетна инструкција програма ===&lt;br /&gt;
Адреса адресе прве инструкције програма јесте 0x00000004, тако да је адреса прве инструкције програма штагод да пише у меморији на адреси 0x00000004. Ова једноставна питалица може често да се појави на различитим роковима и одговор на њу може се наћи на страни 15 од &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#1. задатак|1. задатак, јул 2022]], 1. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Условно извршавање инструкција ===&lt;br /&gt;
Овај механизам објашњен је на страни 56 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 3.3.7 &#039;&#039;Conditional execution&#039;&#039;. Питања из ове области обично садрже барем једну &amp;lt;code&amp;gt;it&amp;lt;/code&amp;gt; инструкцију и неке комбинације &amp;lt;code&amp;gt;add&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sub&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cmp&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;mov&amp;lt;/code&amp;gt; инструкција са суфиксом &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; (ажурира програмски статусни регистар!) или без њега (не ажурира програмски статусни регистар!), а на крају се тражи вредност у неком од коришћених регистара.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 1|1. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#2. задатак|2. задатак, јул 2022]], 2. задатак, јануар 2023&lt;br /&gt;
* (&#039;&#039;извршавање инструкција генерално&#039;&#039;) [[Микропроцесорски системи/К1 2022#1. задатак|1. задатак, К1 2022]]&lt;br /&gt;
* [[#Питање 1|Некатегорисано питање 1]]&lt;br /&gt;
* [[#Питање 2|Некатегорисано питање 2]]&lt;br /&gt;
* Примери из документације&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Bit-band alias&#039;&#039; ===&lt;br /&gt;
У овом типу задатка тражи се да се за неки бит у SRAM одреди &#039;&#039;bit-band alias&#039;&#039; адреса. На страни 27 &#039;&#039;Cortex-M3 Programming Manual&#039;&#039; објашњен је овај механизам и наведене следеће формуле:&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_offset = (byte_offset x 32) + (bit_number x 4)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_word_addr = bit_band_base + bit_word_offset&amp;lt;/code&amp;gt;&lt;br /&gt;
где је:&lt;br /&gt;
* &amp;lt;code&amp;gt;byte_offset&amp;lt;/code&amp;gt; померај неког бајта од почетка SRAM (SRAM почиње на 0x20000000),&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_number&amp;lt;/code&amp;gt; број бита који се тражи (дат у задатку)&lt;br /&gt;
* &amp;lt;code&amp;gt;bit_band_base&amp;lt;/code&amp;gt; почетак &#039;&#039;bit-band alias&#039;&#039; региона (почиње на 0x22000000)&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 2|2. задатак, пробни тест 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Режими рада ===&lt;br /&gt;
Иако нема примера овог питања, може да дође питање у ком режиму се налази процесор приликом извршавања прекидне рутине (&#039;&#039;handler mode&#039;&#039;), а у ком приликом главног програма (&#039;&#039;thread mode&#039;&#039;). Овај податак се може наћи на страни 13 у &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, у одељку 2.1.1 &#039;&#039;Processor mode and privilege levels for software execution&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Intel HEX&#039;&#039; формат ===&lt;br /&gt;
У оваквом задатку потребно је растумачити шта пише у једној &#039;&#039;Intel HEX&#039;&#039; датотеци за коју је дат садржај и истакнута синтакса. Опис овог формата може са наћи на [[wikipedia:Intel HEX|Википедији]], али такође и на [https://developer.arm.com/documentation/ka003292/latest &#039;&#039;ARM&#039;&#039;-овом] и [https://www.intel.com/content/www/us/en/support/programmable/articles/000076770.html &#039;&#039;Intel&#039;&#039;-овом] сајту.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#1. задатак|1. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#1. задатак|1. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Иницијална вредност &#039;&#039;SP&#039;&#039; ===&lt;br /&gt;
Регистар &#039;&#039;SP&#039;&#039; своју иницијалну вредност добија са адресе 0x00000000. У овом типу задатка буде један асемблерски програм у коме се ради формирање IVT (чији је нулти улаз заправо вредност &#039;&#039;SP&#039;&#039;), а затим се у програму негде та вредност користи, и резултат извршавања зависи од те вредности. Главна идеја је прочитати вредност &#039;&#039;SP&#039;&#039; са прве локације у вектор табели из асемблерског програма.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#3. задатак|3. задатак, август 2022]], 4. задатак, К1 2022, 3. задатак, фебруар 2023&lt;br /&gt;
&lt;br /&gt;
=== Тренутна прекидна рутина ===&lt;br /&gt;
Још један чест задатак јесте асемблерски програм у којем се изазове одређени прекид на неки начин, а затим се у прекидној рутини у одређени регистар упише вредност IPSR и пита која је вредност уписана. Овај тип задатка није превише шаблонски у делу где се изазива прекид, али када се сазна који је прекид изазван његов број се лако може сазнати из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, страна 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#4. задатак|4. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#4. задатак|4. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
=== Одређивање изузетка на основу описа ===&lt;br /&gt;
У овом типу задатка дат је опис једног типа изузетка у &#039;&#039;Cortex-M3&#039;&#039; процесору, практично преведен из &#039;&#039;Cortex-M3 Programming Manual&#039;&#039;, са стране 32, 2.3.2 &#039;&#039;Exception types&#039;&#039;, и дато је више назива изузетака за бирање.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#2. задатак|2. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#2. задатак|2. задатак, фебруар 2023]]&lt;br /&gt;
&lt;br /&gt;
== Други блок ==&lt;br /&gt;
=== Пинови за активацију тајмера ===&lt;br /&gt;
У овом типу питања траже се пинови чија одговарајућа промена окида односно стартује бројање на одређеном тајмеру микроконтролера. На фигурама са страна 294 и 367 из &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да у сигналу TRGI учествују &amp;lt;code&amp;gt;TIMx_ETR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TIMx_CH1&amp;lt;/code&amp;gt; (преко TI1FP1) и &amp;lt;code&amp;gt;TIMx_CH2&amp;lt;/code&amp;gt; (преко TI2FP2), а на странама 178 и 179 можемо пронаћи одговарајућа мапирања пинова за те канале микроконтролера. У теорији, у том сигналу би могао да учествује и сигнал &amp;lt;code&amp;gt;TIMx_CH3&amp;lt;/code&amp;gt; (преко XOR кола које улази у TI1) али ово никада није означено као тачан одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 3|3. задатак, пробни тест 2022]] (&#039;&#039;TIM2&#039;&#039;)&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#3. задатак|3. задатак, К2 2022]], 4. задатак, јул 2022 (&#039;&#039;TIM1&#039;&#039;), 4. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
=== Фреквенција HCLK ===&lt;br /&gt;
Постоји неколико варијанти овог питања где је дата фреквенција интерних или екстерних осцилатора а пита се за максималну радну фреквенцију (HCLK). Одговор на ово питање се увек може наћи на фигури 8 са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, где ти сигнали такта обично пролазе кроз PLL и евентуално се одсецају на одговарајуће максимуме као што је прописано шемом. Обратити пажњу и на текст испод фигуре!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Пробни тест 2022#Задатак 4|4. задатак, пробни тест 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#3. задатак|3. задатак, јул 2022]], 3. задатак, јануар 2023&lt;br /&gt;
* [[#Питање 3|Некатегорисано питање 3]]&lt;br /&gt;
&lt;br /&gt;
=== Број догађаја пред UEV ===&lt;br /&gt;
Овај тип питања пита колико пута се којих догађаја мора десити како би се десио &#039;&#039;Update Event&#039;&#039; (UEV) неког тајмера. Одговор је суштински да треба да се деси за један више пута него што је вредност &#039;&#039;repetition counter&#039;&#039;, при бројању навише се дешава &#039;&#039;counter overflow&#039;&#039;, док се при бројању наниже дешава &#039;&#039;counter underflow&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Август 2022#5. задатак|5. задатак, август 2022]]&lt;br /&gt;
* [[Микропроцесорски системи/Фебруар 2023#5. задатак|5. задатак, фебруар 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Начин бројања тајмера ===&lt;br /&gt;
Иако нема забележеног тачног текста овог питања, може да дође питање да се означи на који начин може да броји тајмер, и на то је потребно одговорити:&lt;br /&gt;
# навише,&lt;br /&gt;
# наниже, и&lt;br /&gt;
# комбиновано.&lt;br /&gt;
&lt;br /&gt;
=== Активирање EXTI преко RTSR ===&lt;br /&gt;
Питање пита за вредност EXTI_RTSR регистра која мора бити уписана како би се омогућили прекиди на датим пиновима. На страни 212. од &#039;&#039;STM32F103 Reference Manual&#039;&#039; можемо видети да за сваку &#039;&#039;EXTI&#039;&#039; линију постоји по један бит у &#039;&#039;RTSR&#039;&#039; регистру, док на страни 210. можемо видети да пиновима са индексом 0 одговара линија 0, пиновима са индексом 1 одговара линија 1, и тако даље. На основу тога, поставимо одговарајуће битове броја на основу датих пинова, и то је тражени одговор.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#1. задатак|1. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;Auto-reload&#039;&#039; регистар ===&lt;br /&gt;
Често умеју да дођу питања где су фигуре 59, 60, 70 или 71 исечене на неком делу и студенти се питају за одговарајуће вредности након исеченог дела. За овакво питање је потребно пронаћи одговарајућу фигуру из документације и видети на који начин измена &#039;&#039;Auto-reload preload&#039;&#039; регистра утиче на &#039;&#039;shadow&#039;&#039; регистар.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#4. задатак|4. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
=== Магистрале за периферије ===&lt;br /&gt;
Могу да дођу питања која питају на којој се магистрали налази одређена периферија. Ова информација се може наћи на неколико места у &#039;&#039;STM32F103 Reference Manual&#039;&#039;, а најбоље на страни 50, 3.3 &#039;&#039;Memory map&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/К2 2022#2. задатак|2. задатак, К2 2022]]&lt;br /&gt;
&lt;br /&gt;
== Трећи блок ==&lt;br /&gt;
=== &#039;&#039;USART&#039;&#039; грешке ===&lt;br /&gt;
Као једино често теоријско питање из овог блока може се издвојити питање о грешкама приликом спровођења &#039;&#039;USART&#039;&#039; протокола. &#039;&#039;USART&#039;&#039; комуникација изгледа тако што се магистрала држи на вредности 1 док по њој нема комуникације, затим почетни бит поруке има вредност 0 (&#039;&#039;start bit&#039;&#039;), после њега долази одређен број битова података (дат у задатку) у који је (опционо) укључен и бит парности (последњи међу битовима података), и на крају долази &#039;&#039;stop bit&#039;&#039; који мора имати вредност 1. Овде су могуће две грешке протокола:&lt;br /&gt;
* &#039;&#039;&#039;Parity error:&#039;&#039;&#039; у задатку је дато да ли се ради о парној парности или непарној парности, тако да ако је збир битова података (укључујући и бит парности) паран приликом непарне парности, или непаран приликом парне парности, дошло је до ове грешке.&lt;br /&gt;
* &#039;&#039;&#039;Framing error:&#039;&#039;&#039; ова грешка се десила уколико на месту где треба да стоји &#039;&#039;stop bit&#039;&#039; не стоји вредност 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примери питања:&#039;&#039;&#039;&lt;br /&gt;
* [[Микропроцесорски системи/Јул 2022#5. задатак|5. задатак, јул 2022]], 5. задатак, јануар 2023&lt;br /&gt;
&lt;br /&gt;
== Некатегорисана питања ==&lt;br /&gt;
Следећа питања не припадају ниједном року, али спадају у једну од категорија питања изнад.&lt;br /&gt;
&lt;br /&gt;
=== Питање 1 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 6&lt;br /&gt;
mov r1, 9&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
itttt gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 5&lt;br /&gt;
addgt r1, r1, r0&lt;br /&gt;
subgt r1, r1, #4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0xFFFFFFFE&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 2 ===&lt;br /&gt;
Која вредност се налази у регистру &#039;&#039;R1&#039;&#039; након извршавања дате секвенце асемблерских инструкција? Одговор унети према формату неозначених хексадецималних литерала у &#039;&#039;C&#039;&#039; програмском језику ширине 32 бита.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
mov r0, 5&lt;br /&gt;
mov r1, 7&lt;br /&gt;
cmp r1, r0&lt;br /&gt;
ittet gt&lt;br /&gt;
subsgt r1, r1, r0&lt;br /&gt;
subsgt r1, r1, 3&lt;br /&gt;
addle r1, r1, r0&lt;br /&gt;
subgt r1, r1, 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Приказ очекиваног формата одговора за произвољно одабрану вредност 1 јесте:&lt;br /&gt;
 0x00000001&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0x00000004&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Питање 3 ===&lt;br /&gt;
Колика је максимална радна фреквенција (&#039;&#039;HCLK&#039;&#039;) микроконтролера &#039;&#039;STM32F103R6&#039;&#039; уколико се користи &#039;&#039;HSE&#039;&#039; осцилатор који на свом излазу производи сигнал такта фреквенције 8MHz? Одговор унети у мегахерцима без навођења ознаке јединице.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;72&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Као што пише на фигури са стране 93 од &#039;&#039;STM32F103 Reference Manual&#039;&#039;, &#039;&#039;HSE&#039;&#039; такт може проћи кроз PLL који може да његову фреквенцију помножи до 16 пута, али је максимална фреквенција &#039;&#039;HCLK&#039;&#039; 72MHz, што је мање од 128MHz колико би иначе могло да буде.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Микропроцесорски системи]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7776</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7776"/>
		<updated>2024-09-04T21:12:26Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulacija thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u;                   // upravljanje&lt;br /&gt;
    float u_min = 0.0;         // minimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_max = 100.0;       // maksimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_scaled_max = 4095; // maksimalna skalirana digitalna vrednost upravljanja koju moze da primi digitalno-analogni konvertor&lt;br /&gt;
    float u_man;               // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0;             // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0;             // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0;             // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current;          // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
            &lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; u_max)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_max;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; u_min)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_min;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = true;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            if (u_man &amp;lt; u_min)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_min;&lt;br /&gt;
            }&lt;br /&gt;
            else if (u_man &amp;gt; u_max)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_max;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                u = u_man;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7775</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7775"/>
		<updated>2024-09-04T19:59:23Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulacija thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u;                   // upravljanje&lt;br /&gt;
    float u_min = 0.0;         // minimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_max = 100.0;       // maksimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_scaled_max = 4095; // maksimalna skalirana digitalna vrednost upravljanja koju moze da primi digitalno-analogni konvertor&lt;br /&gt;
    float u_man;               // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0;             // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0;             // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0;             // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current;          // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; u_max)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_max;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; u_min)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_min;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = true;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            if (u_man &amp;lt; u_min)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_min;&lt;br /&gt;
            }&lt;br /&gt;
            else if (u_man &amp;gt; u_max)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_max;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                u = u_man;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7774</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7774"/>
		<updated>2024-09-04T19:56:31Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulacija thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u;                   // upravljanje&lt;br /&gt;
    float u_min = 0.0;         // minimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_max = 100.0;       // maksimalna prava digitalna vrednost upravljanja&lt;br /&gt;
    float u_scaled_max = 4095; // maksimalna skalirana digitalna vrednost upravljanja koju moze da primi digitalno-analogni konvertor&lt;br /&gt;
    float u_man;               // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0;             // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0;             // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0;             // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current;          // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; u_max)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_max;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; u_min)&lt;br /&gt;
            {&lt;br /&gt;
                u = u_min;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = true;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            u = u_man;&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7773</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7773"/>
		<updated>2024-09-04T19:47:55Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulacija thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u; // upravljanje&lt;br /&gt;
    float u_max = 100.0;&lt;br /&gt;
    float u_scaled_max = 4095;&lt;br /&gt;
    float u_man;   // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; 100.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 100.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; 0.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 0.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = true;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            u = u_man;&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7772</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7772"/>
		<updated>2024-09-04T19:46:58Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulacija thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u; // upravljanje&lt;br /&gt;
    float u_max = 100.0;&lt;br /&gt;
    float u_scaled_max = 4095;&lt;br /&gt;
    float u_man;   // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; 100.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 100.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; 0.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 0.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = true;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            u = u_man;&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
&lt;br /&gt;
            // pamcenje informacije o rezimu rada iz tekuce periode odabiranja da bi se u narednoj periodi&lt;br /&gt;
            // odabiranja znalo da li je potrebno izvrsiti kod koji obezbedjuje bumpless prelaz iz rucnog u automatski rezim&lt;br /&gt;
            auto_previous = false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7771</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7771"/>
		<updated>2024-09-04T19:43:40Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulacija thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u; // upravljanje&lt;br /&gt;
    float u_max = 100.0;&lt;br /&gt;
    float u_scaled_max = 4095;&lt;br /&gt;
    float u_man;   // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; 100.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 100.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; 0.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 0.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            u = u_man;&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7770</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7770"/>
		<updated>2024-09-04T19:43:24Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
void sleep(int seconds)&lt;br /&gt;
{&lt;br /&gt;
    // simulation of thread sleep&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r; // referenca&lt;br /&gt;
&lt;br /&gt;
    float y;                   // merenje&lt;br /&gt;
    float y_max = 40.0;        // maksimalna prava digitalna vrednost merenja&lt;br /&gt;
    float y_scaled_max = 1023; // maksimalna skalirana digitalna vrednost merenja koju moze da vrati analogno-digitalni konvertor&lt;br /&gt;
&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
&lt;br /&gt;
    float u; // upravljanje&lt;br /&gt;
    float u_max = 100.0;&lt;br /&gt;
    float u_scaled_max = 4095;&lt;br /&gt;
    float u_man;   // upravljanje u rucnom rezimu rada&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        // simulacija izvrsenja prekidne rutine&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj y nalazi skalirana digitalna vrednost koju je izracunao analogno-digitalni&lt;br /&gt;
        // konvertor, pa je neophodno prvo izracunati pravu digitalnu vrednost y&lt;br /&gt;
        y = (y / y_scaled_max) * y_max;&lt;br /&gt;
&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje zastite od navijanja (anti-windup)&lt;br /&gt;
            if (u &amp;gt; 100.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 100.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju maksimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
            if (u &amp;lt; 0.0)&lt;br /&gt;
            {&lt;br /&gt;
                u = 0.0;&lt;br /&gt;
                u_i = u_i - k_i * e_current; // integralno dejstvo ne treba akumulirati kada je upravljanje dostiglo svoju minimalnu vrednost&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // pamcenje greske iz tekuce periode odabiranja da bi se u narednoj periodi odabiranja sacuvala ta informacija zbog racunanja diferencijalnog dejstva&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            // rucno azuriranje upravljanja&lt;br /&gt;
            u = u_man;&lt;br /&gt;
&lt;br /&gt;
            // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
            r = y;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // trenutno se u promenljivoj u nalazi prava digitalna vrednost upravljanja, pa je potrebno izracunati skaliranu&lt;br /&gt;
        // digitalnu vrednost upravljanja kako bi se ona dovela na ulaz digitalno-analognog konvertora&lt;br /&gt;
        u = (u / u_max) * u_scaled_max;&lt;br /&gt;
&lt;br /&gt;
        // simulacija prekidne rutine pomocu beskonacne while petlje i thread sleep tako sto uspavamo glavnu nit na t_s sekundi, sto je upravo perioda odabiranja&lt;br /&gt;
        // inace bi se prekidna rutina automatski izvrsavala periodicno sa razmakom od t_s sekundi izmedju dva uzastopna izvrsavanja&lt;br /&gt;
        sleep(t_s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7769</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7769"/>
		<updated>2024-09-04T19:09:53Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r;          // referenca&lt;br /&gt;
    float y;          // merenje&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
    float u;          // upravljanje&lt;br /&gt;
    float u_man;      // upravljanje u rucnom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            u = u_man; // rucno azuriranje upravljanja&lt;br /&gt;
            r = y;     // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7768</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7768"/>
		<updated>2024-09-04T19:08:39Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* GRAFCET programiranje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r;          // referenca&lt;br /&gt;
    float y;          // merenje&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
    float u;          // upravljanje&lt;br /&gt;
    float u_man;      // upravljanje u rucnom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            u = u_man; // rucno azuriranje upravljanja&lt;br /&gt;
            r = y;     // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7767</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7767"/>
		<updated>2024-09-04T19:08:32Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* GRAFCET programiranje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r;          // referenca&lt;br /&gt;
    float y;          // merenje&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
    float u;          // upravljanje&lt;br /&gt;
    float u_man;      // upravljanje u rucnom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            u = u_man; // rucno azuriranje upravljanja&lt;br /&gt;
            r = y;     // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7766</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7766"/>
		<updated>2024-09-04T19:08:25Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* GRAFCET programiranje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r;          // referenca&lt;br /&gt;
    float y;          // merenje&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
    float u;          // upravljanje&lt;br /&gt;
    float u_man;      // upravljanje u rucnom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            u = u_man; // rucno azuriranje upravljanja&lt;br /&gt;
            r = y;     // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7765</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7765"/>
		<updated>2024-09-04T19:08:16Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* GRAFCET programiranje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r;          // referenca&lt;br /&gt;
    float y;          // merenje&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
    float u;          // upravljanje&lt;br /&gt;
    float u_man;      // upravljanje u rucnom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            u = u_man; // rucno azuriranje upravljanja&lt;br /&gt;
            r = y;     // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7764</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7764"/>
		<updated>2024-09-04T19:08:00Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r;          // referenca&lt;br /&gt;
    float y;          // merenje&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
    float u;          // upravljanje&lt;br /&gt;
    float u_man;      // upravljanje u rucnom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            u = u_man; // rucno azuriranje upravljanja&lt;br /&gt;
            r = y;     // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7763</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7763"/>
		<updated>2024-09-04T19:06:41Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    float r;          // referenca&lt;br /&gt;
    float y;          // merenje&lt;br /&gt;
    float e_current;  // greska u trenutnoj periodi odabiranja&lt;br /&gt;
    float e_previous; // greska u prosloj periodi odabiranja&lt;br /&gt;
    float u;          // upravljanje&lt;br /&gt;
    float u_man;      // upravljanje u rucnom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    float u_p = 0; // upravljanje poteklo od proporcionalnog dejstva&lt;br /&gt;
    float u_i = 0; // upravljanje poteklo od integralnog dejstva&lt;br /&gt;
    float u_d = 0; // upravljanje poteklo od diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float k_p = 4.0; // konstanta proporcionalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_i = 0.5;               // vremenska konstanta integralnog dejstva&lt;br /&gt;
    float t_s = 0.1;               // perioda odabiranja (u sekundama)&lt;br /&gt;
    float k_i = (k_p / t_i) * t_s; // konstanta integralnog dejstva&lt;br /&gt;
&lt;br /&gt;
    float t_d = 2.0;               // vremenska konstanta diferencijalnog dejstva&lt;br /&gt;
    float k_d = (k_p / t_s) * t_d; // konstanta diferencijalnog dejstva&lt;br /&gt;
&lt;br /&gt;
    bool auto_current = false;  // da li je sistem u trenutnoj periodi odabiranja u automatskom rezimu rada&lt;br /&gt;
    bool auto_previous = false; // da li je sistem u prosloj periodi odabiranja bio u automatskom rezimu rada&lt;br /&gt;
&lt;br /&gt;
    while (true)&lt;br /&gt;
    {&lt;br /&gt;
        if (auto_current == true)&lt;br /&gt;
        {&lt;br /&gt;
            // automatski rezim rada&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz rucnog u automatski rezim rada&lt;br /&gt;
            if (auto_previous == false)&lt;br /&gt;
            {&lt;br /&gt;
                r = y;          // ovo garantuje da ce u_p biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                u_i = u_man;    // ovo garantuje da ce u_i biti u_man sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
                e_previous = 0; // ovo garantuje da ce u_d biti 0 sto zelimo da bismo obezbedili bumpless prelaz iz rucnog u automatski rezim rada&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // automatsko azuriranje upravljanja&lt;br /&gt;
            e_current = r - y;&lt;br /&gt;
            u_p = k_p * e_current;&lt;br /&gt;
            u_i = u_i + k_i * e_current;&lt;br /&gt;
            u_d = k_d * (e_current - e_previous);&lt;br /&gt;
            u = u_p + u_i + u_d;&lt;br /&gt;
&lt;br /&gt;
            // obezbedjivanje bumpless prelaza pri prelazu iz automatskog u rucni rezim rada&lt;br /&gt;
            u_man = u;&lt;br /&gt;
&lt;br /&gt;
            e_previous = e_current;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // rucni rezim rada&lt;br /&gt;
&lt;br /&gt;
            u = u_man; // rucno azuriranje upravljanja&lt;br /&gt;
            r = y;     // ova dodela se radi kako bi se dodatno potvrdilo da je sistem u rucnom rezimu rada time sto ce grafik reference biti isti kao grafik merenja&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7762</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7762"/>
		<updated>2024-09-04T19:02:55Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* GRAFCET programiranje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7761</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7761"/>
		<updated>2024-09-04T19:02:24Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* GRAFCET programiranje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7760</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7760"/>
		<updated>2024-09-04T19:02:02Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7759</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7759"/>
		<updated>2024-09-04T19:01:43Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7758</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7758"/>
		<updated>2024-09-04T17:50:32Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7757</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7757"/>
		<updated>2024-09-04T17:50:07Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Regulatori */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
fsafafsa&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7756</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7756"/>
		<updated>2024-09-04T17:49:38Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* GRAFCET programiranje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
== Regulatori ==&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7755</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7755"/>
		<updated>2024-09-03T22:18:09Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Industrijske mreže */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Saveti ===&lt;br /&gt;
1) ukoliko je naglaseno u tekstu da je potrebno &amp;quot;upravljanje uredjajima u realnom vremenu&amp;quot;, onda odmah znam da ne treba MODBUS protokol da&lt;br /&gt;
iskoristim jer nije dovoljno pouzdan za tako nesto&lt;br /&gt;
&lt;br /&gt;
2) ukoliko je naglaseno u tekstu da je potreban samo &amp;quot;nadzor uredjaja&amp;quot;, kao npr. ocitavanje temperature u rezervoarima, onda odmah znam da &lt;br /&gt;
nema potrebe za PROFIBUS ili PROFINET protokolima, vec da moze MODBUS protokol da se iskoristi jer nije potrebno nikakvo upravljanje u &lt;br /&gt;
realnom vremenu (pod uslovom da ima do 32 uredjaja u mrezi, jer toliko uredjaja MODBUS protokol moze maksimalno da podrzi, kao i da je &lt;br /&gt;
rastojanje od centralne stanice do udaljene lokacije maksimalno oko 1km, jer toliki domet ima MODBUS protokol) - tada su samo potrebni&lt;br /&gt;
pametni senzori u udaljenim lokacijama&lt;br /&gt;
&lt;br /&gt;
3) ukoliko je u udaljenim lokacijama potrebno upravljanje (pumpa, ventilator, grejac, itd.) to mi odmah govori da je potrebno da svaka udaljena &lt;br /&gt;
lokacija ima po PLC - mnogo je bolje tako nego da postoji samo jedan PLC u centru i da on obavlja celokupno upravljanje svim uredjajima u &lt;br /&gt;
udaljenim lokacijama; takodje, treba nacrtati i touch panel (HMI) u svakoj udaljenoj lokaciji kada je u njima potrebno upravljanje (naravno, ako &lt;br /&gt;
nema upravljanja nego samo npr. pametnih senzora, onda nema potrebe za touch panelom (HMI-jem) kao ni za PLC-om u udaljenoj lokaciji)&lt;br /&gt;
&lt;br /&gt;
4) ukoliko sam zakljucio da treba da iskoristim PROFINET protokol sa optickim kablovima za povezivanje svica iz centralne stanice sa svicevima&lt;br /&gt;
u udaljenim lokacijama, onda su na ulazu u centralnu stanicu neophodni opticki pretvaraci koji konvertuju opticke signale u elektricne - ovo je&lt;br /&gt;
potrebno zato sto unutar centralne stanice nema potrebe koristiti opticke kablove posto su male udaljenosti, pa su za povezivanje uredjaja &lt;br /&gt;
dovoljni bakarni kablovi koji provode elektricne signale - isto vazi i za ulaz u udaljenu lokaciju, i tu su potrebni pretvaraci; medjutim, postoje&lt;br /&gt;
Siemens svicevi sa ulazima za opticke kablove, pa u tom slucaju cak i ne treba pretvarac&lt;br /&gt;
&lt;br /&gt;
5) ako je udaljena lokacija udaljena od centralne prostorije oko 100m, odmah znam da mogu da iskoristim PROFINET i to sa bakarnim kablovima&lt;br /&gt;
(naravno, pod uslovom da je potrebno upravljanje u realnom vremenu, dakle ako imamo nekakve pumpe, ventilatore ili grejace u udaljenim&lt;br /&gt;
lokacijama, i takodje ako imamo veliki broj uredjaja u mrezi (preko 128), jer u suprotnom nema potrebe za ovako skupim resenjem ako nema - ako &lt;br /&gt;
ima preko 32 a manje od 128 mogao bi PROFIBUS da se iskoristi sa bakarnim kablovima, a ako ima manje od 32 uredjaja mogao bi MODBUS da &lt;br /&gt;
se iskoristi sa bakarnim kablovima ukoliko nije potrebno upravljanje)&lt;br /&gt;
&lt;br /&gt;
6) ako se trazi najjeftinije moguce resenje, treba imati u vidu da je MODBUS najjeftiniji, pa onda PROFIBUS, a zatim PROFINET, a po kvalitetu&lt;br /&gt;
je isti redosled ako se gleda od najgoreg ka najboljem protokolu&lt;br /&gt;
&lt;br /&gt;
7) PROFIBUS sa bakarnim kablovima se najcesce koristi ako je potreban domet do 1.2km i ako ima do 128 uredjaja u mrezi, a takodje vec postoji &lt;br /&gt;
neka stara postojeca infrastruktura koju zelimo da iskoristimo, medjutim ako se gradi neka mreza od nule u danasnje vreme, u 90% situacija ce &lt;br /&gt;
se iskoristiti PROFINET (sa bakarnim kablovima ako je udaljenost do oko 100m, a sa optickim ako je veca)&lt;br /&gt;
&lt;br /&gt;
8) kod MODBUS i PROFIBUS je najcesca daisy chain (linearna) topologija mreze, dok je kod PROFINET najcesca star (zvezdasta) topologija&lt;br /&gt;
zajedno sa ring (prstenastom) topologijom, pri cemu se cesto koristi i dupli prsten radi redundanse&lt;br /&gt;
&lt;br /&gt;
9) ako se traze &amp;quot;vizuelizacija i belezenje&amp;quot; informacija, to mi odmah govori da u centralnoj stanici treba da nacrtam PC sa SCADA-om jer je u&lt;br /&gt;
SCADA-i baza podataka gde se ti podaci cuvaju - ukoliko nije potrebno belezenje podataka, onda nema potrebe za SCADA-om, vec je dovoljan&lt;br /&gt;
touch panel (HMI) u centralnoj stanici tada&lt;br /&gt;
&lt;br /&gt;
10) ukoliko je udaljenost izmedju centralne sobe i udaljenih lokacija ogromna (reda velicine stotina kilometara), tada komunikacija izmedju&lt;br /&gt;
njih mora da se odvija preko interneta (WAN) - radi sigurnosti pozeljno je koristiti i VPN kako bi komunikacija bila zasticena&lt;br /&gt;
&lt;br /&gt;
11) cim ima ogroman broj uredjaja (preko 128), odmah znam da treba PROFINET da iskoristim, samo je pitanje da li sa bakarnim ili optickim&lt;br /&gt;
kablovima u zavisnosti od udaljenosti izmedju centralne sobe i udaljenih lokacija&lt;br /&gt;
&lt;br /&gt;
12) ako je potreban samo nadzor (bez upravljanja u realnom vremenu) i ako bas nije moguce povezati centralnu sobu sa udaljenim lokacijama&lt;br /&gt;
kablovima iz nekog razloga, onda se moze pribeci koriscenju GSM ili radio veze za komunikaciju i tada je potreban modem kako u centralnoj&lt;br /&gt;
sobi (predajnik), tako i u svim udaljenim lokacijama (prijemnici) - treba imati u vidu da ovaj vid komunikacije nije pouzdan i nikako nije&lt;br /&gt;
real time; takodje treba imati u vidu da je ovo moguce kao resenje samo ako je naglaseno u tekstu da je u pitanju &amp;quot;moj objekat&amp;quot;, jer su&lt;br /&gt;
samo tada kontrolisani uslovi, inace ako se preko javnih povrsina odvija komunikacija preko GSM ili radio veze, onda postoji veca opasnost&lt;br /&gt;
od napada&lt;br /&gt;
&lt;br /&gt;
13) ako koristim MODBUS ili PROFIBUS, samo povezem sve uredjaje jednom istom linijom (magistralom) jer se tada koristi daisy chain (linearna)&lt;br /&gt;
topologija, a ako koristim PROFINET, onda je potreban po svic kako u centralnoj sobi, tako i u udaljenim lokacijama i oni mogu biti povezani&lt;br /&gt;
u star ili ring (a moze i double ring) topologije&lt;br /&gt;
&lt;br /&gt;
14) ukoliko je potreban samo nadzor uredjaja, a ne upravljanje, PLC-ovi nisu potrebni niti u centralnoj sobi, niti u udaljenim lokacijama, vec je&lt;br /&gt;
dovoljan PC sa SCADA-om u centralnoj sobi za vizuelizaciju i belezenje podataka, dok iz udaljenih lokacija odgovarajuce vrednosti mogu slati&lt;br /&gt;
pametni senzori; takodje nisu potrebni ni HMI-jevi niti u centralnoj sobi niti u udaljenim lokacijama ako je samo nadzor uredjaj potreban&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7754</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7754"/>
		<updated>2024-09-03T22:16:12Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Jun 2018 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7753</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7753"/>
		<updated>2024-09-03T22:15:14Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Jun 2019 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto ima ukupno 400 senzora nivoa koji treba da budu u mrezi, to odmah govori da moramo da koristimo PROFINET protokol za komunikaciju&lt;br /&gt;
jer MODBUS protokol podrzava do 32 uredjaja, a PROFIBUS do 128, dok PROFINET podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Iz teksta zadatka vidimo da nije potrebno obezbediti nikakvo upravljanje u realnom vremenu, vec samo nadzor, tj. ocitavanje vrednosti iz&lt;br /&gt;
svih ovih senzora nivoa. Ovo znaci da nam uopste nije potreban PLC ni u jednoj stanici, kao ni HMI. Dovoljno je da svih 400 senzora budu pametni&lt;br /&gt;
senzori koji ce slati vrednosti koje ocitaju preko mreze do centralne prostorije.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U centralnoj prostoriji je potreban PC sa SCADA kako bi mogli da se vizuelizuju i beleze podaci koje salju pametni senzori iz udaljenih lokacija.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nije data udaljenost izmedju centralne stanice i ostalih stanica, pretpostavicemo da ce opticki kablovi odraditi posao i njih cemo onda&lt;br /&gt;
iskoristiti za povezivanje stanica.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
U svakoj stanici je potrebno nacrtati po switch, i stanice medjusobno povezujemo tako sto povezemo switch-eve. Posto je u pitanju PROFINET&lt;br /&gt;
protokol, mozemo ih povezati u star ili ring (moze i double ring radi redundanse) topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Da bismo optimizovali troskove, dodacemo i pretvarace koji konvertuju opticke signale u elektricne i obrnuto na ulazu svake stanice jer nema &lt;br /&gt;
potrebe da se unutar stanica koriste opticki kablovi, vec mogu bakarni.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7748</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7748"/>
		<updated>2024-09-03T21:40:57Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno da postoje dve udaljene prostorije i u svakoj ima po 150 senzora nivoa, a takodje postoje i pumpe u ovim prostorijama, to nam&lt;br /&gt;
govori da ima preko 300 uredjaja u ovoj mrezi, odakle odmah zakljucujemo da ne mogu da se iskoriste niti MODBUS (podrzava najvise 32&lt;br /&gt;
uredjaja) niti PROFIBUS (podrzava najvise 128 uredjaja) protokoli, vec mora PROFINET protokol jer on podrzava neogranicen broj uredjaja.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Cim imamo pumpe u udaljenim prostorijama, to znaci da je potrebno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj sobi, &lt;br /&gt;
tako i u udaljenim prostorijama; takodje, potrebno je dodati i HMI u sve stanice; sve se povezuje sa svicevima - PLC, HMI, PC sa SCADA i&lt;br /&gt;
stanice onda medjusobno povezujemo tako sto povezemo njihove sviceve.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je potrebna vizuelizacija i pamcenje podataka, u centralnoj sobi je potreban PC sa SCADA.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne stanice i udaljenih prostorija 300m, nije moguce iskoristiti PROFINET sa bakarnim kablovima jer je&lt;br /&gt;
njima domet 100m, tako da su neophodni opticki kablovi za povezivanje centralne prostorije sa udaljenim - takodje su onda potrebni i pretvaraci&lt;br /&gt;
na ulazima u sve stanice koji konvertuju opticki signal u elektricni i obrnuto jer nema potrebe koristiti opticke kablove unutar samih stanica, vec&lt;br /&gt;
je moguce tu iskoristiti bakarne kablove - to je svakako jeftinije resenje i racionalnije a i trazeno je u tekstu zadatka da isprojektujemo&lt;br /&gt;
najekonomicnije resenje.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Moguce je povezati stanice bilo u ring (moze i double ring radi redundanse) bilo u star topologiju.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7747</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7747"/>
		<updated>2024-09-03T21:39:27Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Jul 2020 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7746</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7746"/>
		<updated>2024-09-03T21:27:48Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7745</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7745"/>
		<updated>2024-09-03T21:25:55Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m).&lt;br /&gt;
&lt;br /&gt;
* Posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze.&lt;br /&gt;
&lt;br /&gt;
* Posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela.&lt;br /&gt;
&lt;br /&gt;
* Posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC.&lt;br /&gt;
&lt;br /&gt;
* Posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi.&lt;br /&gt;
&lt;br /&gt;
* Posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7744</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7744"/>
		<updated>2024-09-03T21:24:45Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Jun 2020 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže...&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
- posto je udaljenost izmedju centralne sobe i udaljenih lokacija 2km, ne mogu da se upotrebe niti MODBUS (domet mu je oko 1km) niti&lt;br /&gt;
PROFIBUS (domet mu je oko 1.2km), vec mora PROFINET (i to sa optickim kablovima jer je sa bakarnim domet oko 100m)&lt;br /&gt;
&lt;br /&gt;
- posto koristimo PROFINET protokol, moguce je upotrebiti ili star ili ring (moze i double ring radi redundanse) topologiju mreze - stanice su &lt;br /&gt;
medjusobno povezane preko sviceva, tj. sviceve povezujemo u odgovarajuce topologije mreze&lt;br /&gt;
&lt;br /&gt;
- posto je receno u tekstu da su u udaljenim lokacijama pumpe koje pumpaju vodu u lokalni rezervoar itd., a i naglaseno je posle da je potrebno&lt;br /&gt;
da &amp;quot;celokupan sistem funkcionise u realnom vremenu&amp;quot; ocigledno je neophodno upravljanje u realnom vremenu, pa je potreban PLC kako u centralnoj&lt;br /&gt;
sobi, tako i u udaljenim lokacijama (radi sigurnosti, kako ne bi celokupno upravljanje zavisilo od jednog PLC iz centralne sobe); takodje, potrebno&lt;br /&gt;
je dodati i HMI kako u centralnu sobu, tako i u udaljene lokacije kako bi bilo moguce upravljanje preko touch panela&lt;br /&gt;
&lt;br /&gt;
- posto smo zakljucili da su pumpe nasi uredjaji kojima upravljamo u realnom vremenu, njih povezujemo bakarnim kablovima unutar stanica sa PLC&lt;br /&gt;
&lt;br /&gt;
- posto je receno u tekstu da je potrebno da se u centralnoj stanici vizuelizuju i beleze podaci, potreban je PC sa SCADA-om u centralnoj sobi&lt;br /&gt;
&lt;br /&gt;
- posto nema potrebe da se unutar udaljenih lokacija kao i unutar centralne sobe koriste opticki kablovi jer su tu male udaljenosti, potrebno je&lt;br /&gt;
na ulazima u sve stanice postaviti pretvarac koji konvertuje opticki signal u elektricni, i obrnuto - na ovaj nacin se unutar svih stanica mogu&lt;br /&gt;
koristiti bakarni kablovi, a opticki se koriste samo za povezivanje udaljenih lokacija sa centralnom sobom&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0/%D0%90%D0%B2%D0%B3%D1%83%D1%81%D1%82_2023&amp;diff=7717</id>
		<title>Заштита података/Август 2023</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0/%D0%90%D0%B2%D0%B3%D1%83%D1%81%D1%82_2023&amp;diff=7717"/>
		<updated>2024-07-04T19:54:40Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* 2. zadatak */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Avgustovski rok 2023. godine&#039;&#039;&#039; na održan je 28. avgusta. Postavka ispod je parcijalni ispit za RTI.&lt;br /&gt;
{{нерешено}}&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
U PKI infrastrukturi sa entitetima, koje od funkcija treba da budu omogućene krajnjem korisniku u komunikaciji sa sertifikacionim autoritetom? &lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Sertifikacija&amp;lt;/span&amp;gt;&lt;br /&gt;
# Objavljivanje liste povučenih sertifikata&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Registracija&amp;lt;/span&amp;gt;&lt;br /&gt;
# Objavljivanje sertifikata&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ažuriranje para ključeva&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Zahtev za povlačenjem&amp;lt;/span&amp;gt;&lt;br /&gt;
# Dohvatanje sertifikata/Liste povućenih sertifikata&lt;br /&gt;
# kombinacija drugog i četvrtog odgovora?&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
A prebacuje X bitkoina korisniku B. Korisnik A mora da uradi sledeće:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Da izračuna Nonce za potvrdu bloka&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Da digitalno potpiše transakciju DSA algoritmom&amp;lt;/span&amp;gt;&lt;br /&gt;
# Da šifruje transakciju RSA algoritmom&lt;br /&gt;
# Da izračuna Merkle stablo transakcija&lt;br /&gt;
# Da šifruje blok u kom je transakcija&lt;br /&gt;
# Da šifruje transakciju AES algoritmom&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
TLS record protocol. Ako se sa weba skida veliki fajl, objasniti na koji način će taj fajl biti prenet sa pretraživača i koji će sigurnosni mehanizmi biti primenjeni na njega?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Izabrati odgovor koji opisuje generisanje i distribuciju ključa za simetrično šifrovanje u okviru PGP-a.&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Za svaku komunikaciju se generiše po jedan ključ sa istim algoritmom na obe strane&lt;br /&gt;
# Generiše se master ključ i šalje uz poruku prilikom uspostavljanja komunikacije i koji će se koristiti za svaku narednu razmenu poruka&lt;br /&gt;
# Generiše se kljuć koji se razmenjuje između korisnika &#039;&#039;offline&#039;&#039; i koristi prilikom svake njihove komunikacije&lt;br /&gt;
# &#039;&#039;KDC&#039;&#039; šalje pošiljaocu i primaocu sesijski kljuc koji se koristi za razmenu jedne poruke&lt;br /&gt;
# Prilikom svakog šifrovanja generiše se sesijski ključ i distribuira zajedno sa porukom&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Koja je razlika između &#039;&#039;Intel SGX&#039;&#039; i &#039;&#039;AMD SEV&#039;&#039; pristupa obezbeđivanju zaštite podataka u upotrebi?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Navesti tipove sadržaja MIME poruka i objasniti ih.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Isti zadatak kao i [[Заштита података/Август 2021#1. zadatak|4. zadatak iz avgusta 2021.]]&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
(3) &amp;lt;math&amp;gt; C \rightarrow TGS  \quad    IDv || Ticket_TGS || Authenticator_C&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(4) &amp;lt;math&amp;gt;TGS \rightarrow C \quad  E(K_c,tgs [ K_c,v || ID_v || TS_4 || Ticket_V])&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koje elemente sadrži &amp;lt;math&amp;gt;Ticket_V&amp;lt;/math&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Isti zadatak kao [[Заштита података/Јул_2021#12._zadatak|12. zadatak iz jula 2021.]]&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Заштита података]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0/%D0%90%D0%B2%D0%B3%D1%83%D1%81%D1%82_2023&amp;diff=7716</id>
		<title>Заштита података/Август 2023</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0/%D0%90%D0%B2%D0%B3%D1%83%D1%81%D1%82_2023&amp;diff=7716"/>
		<updated>2024-07-04T19:54:07Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* 1. zadatak */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Avgustovski rok 2023. godine&#039;&#039;&#039; na održan je 28. avgusta. Postavka ispod je parcijalni ispit za RTI.&lt;br /&gt;
{{нерешено}}&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
U PKI infrastrukturi sa entitetima, koje od funkcija treba da budu omogućene krajnjem korisniku u komunikaciji sa sertifikacionim autoritetom? &lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Sertifikacija&amp;lt;/span&amp;gt;&lt;br /&gt;
# Objavljivanje liste povučenih sertifikata&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Registracija&amp;lt;/span&amp;gt;&lt;br /&gt;
# Objavljivanje sertifikata&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ažuriranje para ključeva&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Zahtev za povlačenjem&amp;lt;/span&amp;gt;&lt;br /&gt;
# Dohvatanje sertifikata/Liste povućenih sertifikata&lt;br /&gt;
# kombinacija drugog i četvrtog odgovora?&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
A prebacuje X bitkoina korisniku B. Korisnik A mora da uradi sledeće:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Da izračuna Nonce za potvrdu bloka&lt;br /&gt;
# Da digitalno potpiše transakciju DSA algoritmom&lt;br /&gt;
# Da šifruje transakciju RSA algoritmom&lt;br /&gt;
# Da izračuna Merkle stablo transakcija&lt;br /&gt;
# Da šifruje blok u kom je transakcija&lt;br /&gt;
# Da šifruje transakciju AES algoritmom&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
TLS record protocol. Ako se sa weba skida veliki fajl, objasniti na koji način će taj fajl biti prenet sa pretraživača i koji će sigurnosni mehanizmi biti primenjeni na njega?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
Izabrati odgovor koji opisuje generisanje i distribuciju ključa za simetrično šifrovanje u okviru PGP-a.&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Za svaku komunikaciju se generiše po jedan ključ sa istim algoritmom na obe strane&lt;br /&gt;
# Generiše se master ključ i šalje uz poruku prilikom uspostavljanja komunikacije i koji će se koristiti za svaku narednu razmenu poruka&lt;br /&gt;
# Generiše se kljuć koji se razmenjuje između korisnika &#039;&#039;offline&#039;&#039; i koristi prilikom svake njihove komunikacije&lt;br /&gt;
# &#039;&#039;KDC&#039;&#039; šalje pošiljaocu i primaocu sesijski kljuc koji se koristi za razmenu jedne poruke&lt;br /&gt;
# Prilikom svakog šifrovanja generiše se sesijski ključ i distribuira zajedno sa porukom&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
Koja je razlika između &#039;&#039;Intel SGX&#039;&#039; i &#039;&#039;AMD SEV&#039;&#039; pristupa obezbeđivanju zaštite podataka u upotrebi?&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
Navesti tipove sadržaja MIME poruka i objasniti ih.&lt;br /&gt;
&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
Isti zadatak kao i [[Заштита података/Август 2021#1. zadatak|4. zadatak iz avgusta 2021.]]&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
(3) &amp;lt;math&amp;gt; C \rightarrow TGS  \quad    IDv || Ticket_TGS || Authenticator_C&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(4) &amp;lt;math&amp;gt;TGS \rightarrow C \quad  E(K_c,tgs [ K_c,v || ID_v || TS_4 || Ticket_V])&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Koje elemente sadrži &amp;lt;math&amp;gt;Ticket_V&amp;lt;/math&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
== 9. zadatak ==&lt;br /&gt;
Isti zadatak kao [[Заштита података/Јул_2021#12._zadatak|12. zadatak iz jula 2021.]]&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Заштита података]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7715</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7715"/>
		<updated>2024-06-30T19:04:41Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Jul 2020 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorijama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7714</id>
		<title>Управљање у реалном времену/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D1%99%D0%B0%D1%9A%D0%B5_%D1%83_%D1%80%D0%B5%D0%B0%D0%BB%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D1%83/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7714"/>
		<updated>2024-06-30T19:03:58Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Jul 2020 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Na ovoj stranici su sakupljena &#039;&#039;&#039;pitanja sa prethodnih rokova&#039;&#039;&#039; bez naročite organizacije po rokovima.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;Ladder&#039;&#039; programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Primenom ladder programiranja realizovati program koji ima sledeće funkcionalnosti:&lt;br /&gt;
* Pritiskom па taster koji je na lokaciji I0.0 resetuju se izlazi Q0.0 i Q0.1 i u narednih 5 sekundi se broje impulsi sa digitalnog ulaza I0.1. Kada prođe 5 sekundi prestaje se sa brojanjem i čeka se sledeci pritisak na taster I0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 1 sekunde od pritiska na taster izbroji manje od 20 impulsa setovati izlaz Q0.0.&lt;br /&gt;
* Ukoliko se u toku vremena od 2 sekunde od pritiska na taster detektuje više od 50 impulsa setovati izlaz Q0.1.&lt;br /&gt;
* Ukoliko se taster pritisne posle manje od 5 sekundi od prethodnog pritiska tastera, ignorisati ovo i nastaviti brojanje impulsa.&lt;br /&gt;
&lt;br /&gt;
=== Februar 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 10 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (10sek ON/30sek OFF) ponoviti pet puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih uzastopnih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost. &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Realizovati automatizaclju rada semafora u ladder programskom jezlku. Postoji 5 digitalnlh izlaza (Q0.0, Q0.1, Q0.2 su adrese zelenog, žutog i crvenog svetla па semaforu, respektivno, a Q1.0 i Q1.1 su adrese zelenog i crvenog svetla za pešake, respektivno) i 2 dlgitalna ulaza (I0.0 je adresa tastera za pešaćki prelaz, a na adresl I0.1 se generiše impuls svaki put kad prođe automobil pored semafora). Program treba da ima sledeću funkcionalnost:&lt;br /&gt;
* U nominalnom režimu uključeno je zeleno svetlo za automobile i crveno svetlo za pešake. Sva ostala svetla su isključena. U toku nominalnog režima broji se koliko je automobila prošlo pored semafora.&lt;br /&gt;
* Ako smo u nominalnom režimu, kad se pritisne pešački taster započinje sledeća sekvenca&lt;br /&gt;
** Čeka se da se ispuni barem jedan od sledecih uslova: prošlo je 10 sekundi od pritiska tastera ili je prošlo 15 automobila pored semafora.&lt;br /&gt;
** Pos1e toga isključuje se zeleno i uključuje se žuto svetlo za automobile.&lt;br /&gt;
** Čeka se 3 sekunde.&lt;br /&gt;
** Pos1e toga uključuje se crveno svetlo za automobile i zeleno svetlo za pešake (sva ostala svetla su isključena).&lt;br /&gt;
** Čeka se 15 sekundi&lt;br /&gt;
* Ponovni pritisak pešačkog tastera se ignoriše u toku izvršavanja sekvence.&lt;br /&gt;
* Pos1e izvršenja ove sekvence vrši se povratak u nominalni režim i resetuje se brojač automobila.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Posedujete mašinu koja poseduje dva tastera za start (I0.0 i I0.1), jedan taster za stop (I0.2) i taster reset (I0.3). Da bi se sistem startovao potrebno je istovremeno pritisnuti oba tastera start (u maksimalnom vremenskom intervalu od 100ms) i tada se uključuje sekvenca. Ona sadrži: uključiti motor (Q0.0), sačekati 20 sekundi i zatim uključiti grejač (Q0.1) koji je 5 sekundi uključen, a zatim 30 sekundi isključen i ovu sekvencu (5sek ON/30sek OFF) ponoviti tri puta. Pre početka sekvence ukoliko se pritisne neki od tastera start, a ne oba u toku od 100ms vremenske razlike, brojati ovakve događaje u brojaču C0. Kada on izbroji 6 ovakvih događaja sistem ide u stanje stop (svi aktuatori isključeni) i da bi se sistem startovao mora se pritisnuti taster reset. Tasterom stop, sistem se zaustavlja (svi aktuatori se isključuju) i da bi se ponovo pokrenuo sistem mora se pritisnuti taster reset. Realizovati primenom ladder (lestvičastog) programiranja program koji ima navedenu funkcionalnost.&lt;br /&gt;
&lt;br /&gt;
=== Jul 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M0.0 na vrednost 1, kada se pojave četiri uzastopna impulsa trajanja manje od 50ms па digitalnom ulazu I0.0&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms, a kraći od 200ms ili pritiskom na taster I0.1, potrebno je brojati kao da su se pojavila dva impulsa&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 200ms potrebno je resetovati brojanje&lt;br /&gt;
* Memorijska lokacija M0.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 па vrednost 1, kada se pojavi pet uzastopnih impulsa trajanja manje od 50ms na digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 100ms, a kraći od 150ms ili pritiskom na taster I0.2, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms takav impuls se računa kao dva impulsa&lt;br /&gt;
* Memorijska lokacija M100.0 se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
=== Jul 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju M100.0 na vrednost 1, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls duži od 150ms ili pritiskom na taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M100.O se postavlja na nulu pritiskom na taster koji se nalazi na digitalnom ulazu I0.3&lt;br /&gt;
&lt;br /&gt;
=== Septembar 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Realizovati primenom ladder (lestvičastog) programiranja program koji ima sledeću funkcionalnost:&lt;br /&gt;
* Potrebno je postaviti memorijsku lokaciju MB100 na vrednost 2, kada se pojavi osam uzastopnih impulsa trajanja manje od 50ms па digitalnom ulazu I0.1&lt;br /&gt;
* Ukoliko se u sekvenci impulsa pojavi impuls du3i od 150ms ili pritiskom па taster I0.3, potrebno je ponovo započeti brojanje&lt;br /&gt;
* Memorijska lokacija M8100 se postavlja na nulu pritiskom па taster koji se nalazi na digitalnom ulazu I0.3 &lt;br /&gt;
&lt;br /&gt;
== Industrijske mreže ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(12)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem unutar vašeg objekta koji ima centralnu stanicu (u centru kruga) i pet udaljenih lokacija (na zamišljenoj kružnici) na jednakom rastojanju od centralne stanice od 2km i jednakom međusobnom rastojanju. Svaka udaljena lokacija ima sistem koji pumpa vodu u 1okalni rezervoar i iz tog rezervoara pumpa vodu u centralni rezervoar sistemom cevovoda. Treba da projektujete centralni sistem i lokalne stanice tako da celokupan sistem funkcioniše u realnom vremenu, i koji poseduje mogućnosti da se u centralnoj stanici vizualizuju i beleže svi parametri (nivoi, temperature, protoci...) praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa (koji imaju izlaze 0-10V) u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazl sistem upravljanja udaljene po 300m. Kod centralne prostorije nalazl se centralni rezervoar sa senzorima nivoa i pumpama. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, ali rad pumpi koje se nalaze u tim prostorlJama, u zavlsnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnost da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, tip mreže, PLC, PC računar. Projektovati ekonomski najpovoljnije rešenje.&lt;br /&gt;
&lt;br /&gt;
=== Jun 2019 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste elektro projektant i treba da napravite sistem koji ima 400 senzora nivoa u 400 rezervora na 10 udaljenih lokacija, ravnomerno rasporedenih, tj. po 40 rezervoara po lokaciji. Treba da napravite sistem koji poseduje mogućnosti da vizuelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, nacrtati raspored opreme, odabrati svu opremu, dati raspored kompletne opreme, tako da neko može na osnovu vašeg projekta da nabavi sav potreban hardware i software, predložiti tip protokola komunikacije, kao i vrstu mreže... &lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Glavni ste projektant i treba da napravite sistem i projektujete mrežu koja ima po 150 senzora nivoa u rezervoarima u dve prostorije koje su međusobno i od prostorije gde se nalazi sistem upravljanja udaljene po 300m. U svakoj prostoriji potrebno je obezbediti mogućnost praćenja nivoa, a1i rad pumpi koje se nalaze u tim prostorijama, u zavisnosti od nivoa u rezervoarima. Treba da napravite sistem koji poseduje mogućnosti da vizelizuje i beleži nivoe rezervoara praktično neograničeno. Detaljno projektovati dati sistem, postaviti i skicirati mrežu, predložiti tip protokola komunikacije, vrstu mreže, PLC, PC računar... &lt;br /&gt;
&lt;br /&gt;
== GRAFCET programiranje ==&lt;br /&gt;
=== Jun 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(9)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jun 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jul 2020 ===&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Nacrtati GRAFCET dijagram za [[#Jul 2020|zadatak 1]].&lt;br /&gt;
&lt;br /&gt;
=== Jun 2018 ===&lt;br /&gt;
[[Датотека:URV jun 2018 zadatak 3 dijagram.svg|thumb|Dijagram iz trećeg zadatka iz junskog roka 2018. godine.]]&lt;br /&gt;
&#039;&#039;&#039;(10)&#039;&#039;&#039; Dat je GRAPHCET&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt; dijagram sistema. Šta radi ovaj sistem i objasniti rečima kako radi.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Управљање у реалном времену]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D0%A0%D0%A1/%D0%A4%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B5&amp;diff=7704</id>
		<title>ПРС/Формуле</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%A0%D0%A1/%D0%A4%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B5&amp;diff=7704"/>
		<updated>2024-06-25T08:55:18Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Отворене мреже */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&lt;br /&gt;
== Оперативна меморија ==&lt;br /&gt;
=== Основни појмови ===&lt;br /&gt;
* У реду за чекање увек има послова.&lt;br /&gt;
* &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;: величина посла за учитавање у меморију&lt;br /&gt;
* &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;: време задржавања програма у меморији&lt;br /&gt;
* &amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt;: искоришћење меморије&lt;br /&gt;
** &amp;lt;math&amp;gt;\overline{U} = \frac{\sum_{i = 0}^n t_i \cdot S_i}{\sum_{i = 0}^n t_i}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Модели величина послова:&lt;br /&gt;
** Модел једнаких величина: сви послови имају једнаке величине&lt;br /&gt;
** Модел једнаковероватних величина: имамо минималну и максималну величину посла, и иста је вероватноћа да се било која величина од њих појави&lt;br /&gt;
** Експоненцијална расподела величина: више има мањих послова или обрнуто&lt;br /&gt;
* Модели времена задржавања у меморији:&lt;br /&gt;
** Константно време задржавања&lt;br /&gt;
** Функција од величине програма&lt;br /&gt;
* Монопрограмски систем: само један програм је учитан у меморију&lt;br /&gt;
* Статичке партиције: у сваку партицију оперативне меморије може бити учитан један програм&lt;br /&gt;
&lt;br /&gt;
=== Модел статичких партиција ===&lt;br /&gt;
* Величине веће и мање партиције означавамо са &amp;lt;math&amp;gt;x_b&amp;lt;/math&amp;gt; и &amp;lt;math&amp;gt;x_s&amp;lt;/math&amp;gt;.&lt;br /&gt;
* Нормализујемо по величини веће партиције: &amp;lt;math&amp;gt;x_b = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
* Мали програми могу да стану у мању партицију, велики не могу.&lt;br /&gt;
* Ознаке стања:&lt;br /&gt;
** &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;: празне партиције&lt;br /&gt;
** &amp;lt;math&amp;gt;BS&amp;lt;/math&amp;gt;: програми учитани и у велику и у малу партицију&lt;br /&gt;
** &amp;lt;math&amp;gt;BE&amp;lt;/math&amp;gt;: велики програм учитан у велику партицију&lt;br /&gt;
** &amp;lt;math&amp;gt;SE&amp;lt;/math&amp;gt;: мали програм учитан у велику партицију&lt;br /&gt;
*** Ако је време задржавања у меморији константно, ово стање не постоји!&lt;br /&gt;
** &amp;lt;math&amp;gt;SS&amp;lt;/math&amp;gt;: мали програми учитани у обе партиције&lt;br /&gt;
** &amp;lt;math&amp;gt;ES&amp;lt;/math&amp;gt; није могуће стање!&lt;br /&gt;
* Искоришћење рачунамо на основу величине просечног програма.&lt;br /&gt;
* Статичке вероватноће стања: вероватноћа да се налазимо у неком стању&lt;br /&gt;
* Просечно искоришћење: &amp;lt;math&amp;gt;\overline{U} = \overline{U_{BS}} \cdot p_{BS} + U_{SS} \cdot p_{SS} + ...&amp;lt;/math&amp;gt;&lt;br /&gt;
* Рекурентно време стања: &amp;lt;math&amp;gt;\frac{1}{1 - p}&amp;lt;/math&amp;gt; где је &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; вероватноћа да се остаје у стању (извођење преко математичког очекивања и потенцијалног реда)&lt;br /&gt;
&lt;br /&gt;
=== Кнутов модел ===&lt;br /&gt;
* Равнотежно стање: једнака вероватноћа алокације и деалокације меморије&lt;br /&gt;
* Четири сценарија ослобађања блока: HBH, HBB, BBH, BBB&lt;br /&gt;
** Број случајева HBB једнак је броју случајева BBH (један се налази на почетку секвенце блокова а други на крају)&lt;br /&gt;
** У HBH имамо две рупе, у HBB и BBH једну, па на основу тога можемо изразити укупан број рупа.&lt;br /&gt;
* Вероватноћа &#039;&#039;perfect fit&#039;&#039; тежи нули.&lt;br /&gt;
* Кнутов закон: број рупа тежи половини броја блокова.&lt;br /&gt;
* Однос величине рупа и блокова: &amp;lt;math&amp;gt;c = \frac{\overline{H}}{\overline{S}}&amp;lt;/math&amp;gt;&lt;br /&gt;
** Мора бити &amp;lt;math&amp;gt;c &amp;lt; 1&amp;lt;/math&amp;gt; јер је ред послова бесконачан.&lt;br /&gt;
* Искоришћење меморије: &amp;lt;math&amp;gt;U = \frac{2}{2 + c}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Бетериџов модел ===&lt;br /&gt;
* Меморија подељена на &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; блокова, програми величине 1, 2, 3... блока, а релокација није дозвољена.&lt;br /&gt;
* Све величине програма су једнако вероватне, и при прелазима између стања је увек завршио тачно један програм.&lt;br /&gt;
* Могућа стања за систем са величином меморије 2: SS, B, SE, ES.&lt;br /&gt;
** Број стања расте експоненцијално са величином меморије.&lt;br /&gt;
* Модел статичких страница: програми више не морају да буду тачне величине у блоковима, постоји интерна фрагментација.&lt;br /&gt;
** Одбачени део меморије: &amp;lt;math&amp;gt;W = \frac{n_{avr}}{2}&amp;lt;/math&amp;gt; блокова, где је &amp;lt;math&amp;gt;n_{avr}&amp;lt;/math&amp;gt; просечан степен мултипрограмирања.&lt;br /&gt;
&lt;br /&gt;
=== Виртуелна меморија ===&lt;br /&gt;
* &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;: величина једне странице&lt;br /&gt;
* &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;: величина улаза у PMT&lt;br /&gt;
* &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt;: број страница&lt;br /&gt;
* &amp;lt;math&amp;gt;M_{PMT}&amp;lt;/math&amp;gt;: количина меморије која оде на PMT&lt;br /&gt;
** &amp;lt;math&amp;gt;M_{PMT} = \frac{M}{x} \cdot k&amp;lt;/math&amp;gt;&lt;br /&gt;
* Одбачени део меморије: &amp;lt;math&amp;gt;W = M_{PMT} + \frac{n_{avr} \cdot x}{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Оптимална величина странице: &amp;lt;math&amp;gt;x_{opt} = \sqrt{\frac{2Mk}{n_{avr}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\frac{1}{R}&amp;lt;/math&amp;gt;: вероватноћа да је последња страница програма у меморији&lt;br /&gt;
** Уколико је дата, онда &amp;lt;math&amp;gt;W = M_{PMT} + \frac{n_{avr} \cdot x}{2} \cdot \frac{1}{R}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Дискови ==&lt;br /&gt;
* &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;: време за пренос записа у меморију.&lt;br /&gt;
** &amp;lt;math&amp;gt;T = T_{am} + T_{rd} + T_{dt}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;T_{am} = \frac{1}{n_{c_1} n_{c_2}} \int_{c_1}^{c_1 + n_{c_1}} \int_{c_2}^{c_2 + n_{c_2}} t(z - x) dx dz&amp;lt;/math&amp;gt;&lt;br /&gt;
*** &amp;lt;math&amp;gt;T_{am}&amp;lt;/math&amp;gt;: &#039;&#039;access motion&#039;&#039; време&lt;br /&gt;
*** &amp;lt;math&amp;gt;n_{c_1}&amp;lt;/math&amp;gt;: број цилиндара првог диска&lt;br /&gt;
*** &amp;lt;math&amp;gt;c_1&amp;lt;/math&amp;gt;: први цилиндар првог диска&lt;br /&gt;
*** &amp;lt;math&amp;gt;t(z - x)&amp;lt;/math&amp;gt;: колико диску треба времена да пређе од цилиндра &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; до цилиндра &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt;&lt;br /&gt;
*** Уколико се иде са цилиндра једне датотеке на исту датотеку: &amp;lt;math&amp;gt;T_{am} = \frac{2}{n_c^2} \int_0^{n_c} (n_c - x) t(x) dx&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;T_{rev} = \frac{1}{v_{rot}}&amp;lt;/math&amp;gt;&lt;br /&gt;
*** &amp;lt;math&amp;gt;T_{rev}&amp;lt;/math&amp;gt;: време обртања диска&lt;br /&gt;
*** &amp;lt;math&amp;gt;v_{rot}&amp;lt;/math&amp;gt;: брзина обртања диска&lt;br /&gt;
** &amp;lt;math&amp;gt;T_{rd} = \frac{T_{rev}}{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;T_{dt} = c \cdot T_{rev}&amp;lt;/math&amp;gt;&lt;br /&gt;
*** &amp;lt;math&amp;gt;T_{dt}&amp;lt;/math&amp;gt;: &#039;&#039;data transfer&#039;&#039; време&lt;br /&gt;
*** &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: који део стазе заузима један запис&lt;br /&gt;
*** Уколико се само врши приступ, а не и трансфер података, онда је &amp;lt;math&amp;gt;T_{dt} = 0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Поасонов процес ==&lt;br /&gt;
=== Основни термини ===&lt;br /&gt;
* &amp;lt;math&amp;gt;\bar{s}&amp;lt;/math&amp;gt; - Средње време обраде посла&lt;br /&gt;
** Понекад означено и као &amp;lt;math&amp;gt;s, S_p&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\bar{a}&amp;lt;/math&amp;gt; - Средње време/Очекивано време између два пристизања послова&lt;br /&gt;
* &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; - Брзина/интензитет обраде посла&lt;br /&gt;
* &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; - Брзина/интензитет пристизања послова&lt;br /&gt;
* &amp;lt;math&amp;gt;\lambda = \frac{1}{\bar{a}}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\mu = \frac{1}{\bar{s}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Стања система ===&lt;br /&gt;
* Стања система обележавамо бројевима који уједно означавају колико има послова у систему.&lt;br /&gt;
* Број стања = Број процесора који могу да раде посао + Број места у реду за чекање&lt;br /&gt;
* Уколико је ред за чекање неограничен/бесконачан, постоји бесконачан број стања.&lt;br /&gt;
* Свако стање има статичку вероватноћу, ознака &amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt;, где је &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; број стања.&lt;br /&gt;
* &amp;lt;math&amp;gt;\sum_{i = 0}^n p_i = 1&amp;lt;/math&amp;gt; - Једначина преклапања. Збир свих стања у систему мора бити 1.&lt;br /&gt;
* Статичке вероватноће одређују се из балансних једначина.&lt;br /&gt;
* У системима са бесконачним бројем стања (неограниченим редом за чекање) јављају се редови:&lt;br /&gt;
** &amp;lt;math&amp;gt;1 + \rho + \rho^2 + ... = \sum_{i = 0}^{\infty} \rho^i = \frac{1}{1 - \rho}&amp;lt;/math&amp;gt; - Геометријски ред. Конвергира само ако &amp;lt;math&amp;gt;\rho &amp;lt; 1&amp;lt;/math&amp;gt; и то је неопходно проверити - иначе ред дивергира и анализа није применљива.&lt;br /&gt;
** &amp;lt;math&amp;gt;1 + 2\rho + 3\rho^2 + ... = \sum_{i = 0}^{\infty} (i + 1)\rho^i = \frac{1}{\left(1 - \rho\right)^2}&amp;lt;/math&amp;gt; -  Потенцијални ред. Конвергира само ако &amp;lt;math&amp;gt;\rho &amp;lt; 1&amp;lt;/math&amp;gt; и то је неопходно проверити - иначе ред дивергира и анализа није применљива.&lt;br /&gt;
* За непознат али коначан број стања јавља се и геометријски низ (који има коначан број чланова): &amp;lt;math&amp;gt;1 + \rho + \rho^2 + ... \rho^n = \sum_{i = 0}^{n} \rho^i = \frac{1 - \rho^{n+1}}{1 - \rho}&amp;lt;/math&amp;gt;&lt;br /&gt;
** Пазити на случај где &amp;lt;math&amp;gt;\rho = 1&amp;lt;/math&amp;gt;. Тада је вредност низа &amp;lt;math&amp;gt;n\rho&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Карактеристике система ===&lt;br /&gt;
* &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; - Просечно/очекивано време обраде послова/време одзива у систему&lt;br /&gt;
* &amp;lt;math&amp;gt;T_q&amp;lt;/math&amp;gt; - Просечно/очекивано време обраде послова/време одзива у реду за чекање&lt;br /&gt;
** Веза: &amp;lt;math&amp;gt;T = T_q + \bar{s}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;J&amp;lt;/math&amp;gt; - Просечан/очекивани број послова у систему&lt;br /&gt;
** &amp;lt;math&amp;gt;J = \sum_{i = 0}^n ip_i&amp;lt;/math&amp;gt;  - где се &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; слаже са бројем послова у систему.&lt;br /&gt;
* &amp;lt;math&amp;gt;J_q&amp;lt;/math&amp;gt; - Просечан/очекивани број послова у реду за чекање&lt;br /&gt;
** Важи иста формула као за J, само што се вероватноће множе са бројем послова у реду за чекање.&lt;br /&gt;
* &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; - Проток кроз систем&lt;br /&gt;
** Уједно и проток кроз ред за чекање&lt;br /&gt;
** Уколико је ред за чекање бесконачан нема одбијања послова, што значи да је проток исти као и интензитет пристизања послова. &amp;lt;math&amp;gt;X = \lambda&amp;lt;/math&amp;gt;&lt;br /&gt;
** Иначе, проток је &amp;lt;math&amp;gt;X = (1 - p_{MAX})\lambda&amp;lt;/math&amp;gt;, где је &amp;lt;math&amp;gt;p_{MAX}&amp;lt;/math&amp;gt; последње стање у ком нема места у реду за чекање.&lt;br /&gt;
* &amp;lt;math&amp;gt;X&#039; = p_{MAX}\lambda&amp;lt;/math&amp;gt; - Проток одбијених послова&lt;br /&gt;
* &amp;lt;math&amp;gt;T = \frac{J}{X}&amp;lt;/math&amp;gt; - Литлова формула. Важи за &#039;&#039;&#039;цео систем&#039;&#039;&#039;.&lt;br /&gt;
** Могуће је посматрати само ред за чекање и ту важи: &amp;lt;math&amp;gt;T_q = \frac{J_q}{X}&amp;lt;/math&amp;gt;&lt;br /&gt;
** Веза: &amp;lt;math&amp;gt;T = T_q + \bar{s} \iff \frac{J}{X} = \frac{J_q}{X} + \bar{s} \iff J - J_q = \bar{s}X&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;U = \sum_{i = 0}^n U_i p_i&amp;lt;/math&amp;gt; - Искоришћеност система. Искоришћеност неког дела &amp;lt;math&amp;gt;U_i&amp;lt;/math&amp;gt; се дефинише као број послова подељен са капацитетом.&lt;br /&gt;
** Важи &amp;lt;math&amp;gt;U = 1 - &amp;lt;/math&amp;gt; неискоришћени део система.&lt;br /&gt;
== Циклични модел мултипрограмирања ==&lt;br /&gt;
* Проток кроз систем је свуда исти.&lt;br /&gt;
* Ово значи да време проведено у процесорском делу система и диск делу система има исти проток, па важи: &amp;lt;math&amp;gt;T_{CPU} = \frac{J_{CPU}}{X}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;T_{disk} = \frac{J_{disk}}{X}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;J_{CPU} + J_{disk} = n&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;R = T_{CPU} + T_{disk} = \frac{n}{X}&amp;lt;/math&amp;gt; - &#039;&#039;Round trip time&#039;&#039; - време проласка једног посла кроз цео систем.&lt;br /&gt;
* Пошто је проток у целом систему исти, код гранања еквивалентних паралелних сервера важи:&lt;br /&gt;
** &amp;lt;math&amp;gt;X = nX_p = mX_d&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; број процесора, &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; број дискова.&lt;br /&gt;
* Закон искоришћења једног сервера/диска: &amp;lt;math&amp;gt;U_p = X_pS_p&amp;lt;/math&amp;gt;&lt;br /&gt;
** Пошто је проток свуда исти: &amp;lt;math&amp;gt;\frac{U_p}{U_d} = \frac{X_pS_p}{X_dS_d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Гордон-Њуелов метод ==&lt;br /&gt;
* Гордон-Њуелов метод дефинише &amp;lt;math&amp;gt;x_i&amp;lt;/math&amp;gt; као потражњу сервера &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt;. Овај фактор је релативан и обично се узима да је потражња првог сервера (процесора) &amp;lt;math&amp;gt;x_1 = 1&amp;lt;/math&amp;gt;.&lt;br /&gt;
* ГЊ систем једначина се формира овако:&lt;br /&gt;
** Сваки систем има своју једначину, где са леве стране једнакости стоје &amp;lt;math&amp;gt;\mu_ix_i&amp;lt;/math&amp;gt;, а са десне, за сваку грану која улази у систем (тј. његов ред за чекање) &amp;lt;math&amp;gt;p_i\mu_ix_i&amp;lt;/math&amp;gt;. &lt;br /&gt;
** &amp;lt;math&amp;gt;p_i&amp;lt;/math&amp;gt; је вероватноћа уласка у грану.&lt;br /&gt;
* &amp;lt;math&amp;gt;G(n)&amp;lt;/math&amp;gt; - константа система која зависи од броја послова у систему. Најлакше се одређује Бјузеновим методом.&lt;br /&gt;
* &amp;lt;math&amp;gt;P[n_j(N) \geq k] = x_j^k \frac{G(N-k)}{G(N)}&amp;lt;/math&amp;gt; - Вероватноћа да у неком систему има више од &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; процеса.&lt;br /&gt;
** &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; је укупан број послова у систему.&lt;br /&gt;
** &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt; је редни број система.&lt;br /&gt;
** &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt; је његов фактор потражње.&lt;br /&gt;
* &amp;lt;math&amp;gt;P[n_j(N) = k] = P[n_j(N) \geq k] - P[n_j(N) \geq k + 1] = x_j^k \frac{G(N-k)}{G(N)} -  x_j^{k+1} \frac{G(N-k + 1)}{G(N)}&amp;lt;/math&amp;gt; - Вероватноћа да систем има тачно &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; послова.&lt;br /&gt;
* &amp;lt;math&amp;gt;U_j = P[n_j(N) \geq 1] = x_j \frac{G(N-1)}{G(N)}&amp;lt;/math&amp;gt; - Искоришћеност сервера&lt;br /&gt;
** Сервер који има највећу искоришћеност је &#039;&#039;&#039;уско грло&#039;&#039;&#039;.&lt;br /&gt;
* &amp;lt;math&amp;gt;J_i = x_i^1 \frac{G(N-1)}{G(N)} + x_i^2 \frac{G(N-2)}{G(N)} + x_i^3 \frac{G(N-3)}{G(N)} + ... + x_i^n \frac{G(0)}{G(N)} &amp;lt;/math&amp;gt; - Просечан/очекивани број послова на серверу.&lt;br /&gt;
* &amp;lt;math&amp;gt;P_{j_1j_2j_3...j_n} = \frac{x_1^{j_1}x_2^{j_2} ... x_n^{j_n}}{G(N)}&amp;lt;/math&amp;gt; - Вероватноћа да у систему са &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; сервера и &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; послова сваки појединачни сервер има &amp;lt;math&amp;gt;j_i&amp;lt;/math&amp;gt; послова.&lt;br /&gt;
&lt;br /&gt;
== Интерактивни системи ==&lt;br /&gt;
* &amp;lt;math&amp;gt;\overline{\theta}&amp;lt;/math&amp;gt;: време размишљања (време током ког се корисник одлучује шта да упише на терминал)&lt;br /&gt;
* &amp;lt;math&amp;gt;\overline{w}&amp;lt;/math&amp;gt;: време проведено у реду за чекање&lt;br /&gt;
* &amp;lt;math&amp;gt;\overline{r}&amp;lt;/math&amp;gt;: време одзива процесора&lt;br /&gt;
** &amp;lt;math&amp;gt;\overline{r} = \overline{w} + \overline{s}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;T_c&amp;lt;/math&amp;gt;: време циклуса на процесору&lt;br /&gt;
** &amp;lt;math&amp;gt;T_c = \overline{w} + \overline{s} + \overline{\theta} = \overline{r} + \overline{\theta}&amp;lt;/math&amp;gt;&lt;br /&gt;
** Примењена Литлова формула: &amp;lt;math&amp;gt;T_c = \frac{n}{X}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;n^*&amp;lt;/math&amp;gt;: критичан број терминала (колико максимално терминала можемо да имамо у систему тако да остане &amp;lt;math&amp;gt;\overline{w} = 0&amp;lt;/math&amp;gt;)&lt;br /&gt;
** &amp;lt;math&amp;gt;n^* = \left\lfloor 1 + \frac{\overline{\theta}}{\overline{s}} \right\rfloor&amp;lt;/math&amp;gt;&lt;br /&gt;
* Искоришћење у интерактивном систему (опет добијено из Литлове формуле): &amp;lt;math&amp;gt;U = \frac{n \overline{s}}{T_c}&amp;lt;/math&amp;gt;&lt;br /&gt;
** За &amp;lt;math&amp;gt;\overline{w} = 0&amp;lt;/math&amp;gt; важи &amp;lt;math&amp;gt;U(n) = \frac{n \cdot \overline{s}}{\overline{s} + \overline{\theta}}&amp;lt;/math&amp;gt;&lt;br /&gt;
** За систем у засићењу важи: &amp;lt;math&amp;gt;1 = \frac{n \cdot \overline{s}}{\overline{r}(n) + \overline{\theta}}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Рекурентна формула за рачунање вероватноћа стања система (&#039;&#039;&#039;важи само за систем са једним процесором&#039;&#039;&#039;): &amp;lt;math&amp;gt;\frac{1}{p_0(n)} = 1 + n\rho \frac{1}{p_0(n-1)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Отворене мреже ==&lt;br /&gt;
* Џексонова теорема: можемо посматрати сервисне центре као да су независни М/М/1 сервери.&lt;br /&gt;
** Време одзива појединачног сервера добијамо као: &amp;lt;math&amp;gt; R_i = \frac{1}{\mu_i - X_i} &amp;lt;/math&amp;gt; (примена Литлове формуле за М/М/1 систем)&lt;br /&gt;
** Вероватноће стања укупног система се добијају као производи појединачних стања система.&lt;br /&gt;
** За М/М/1 важи: &amp;lt;math&amp;gt;p_0 = 1 - \rho&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;p_i = \rho^i p_0&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;J = \frac{\rho}{1 - \rho}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Једначина отворене мреже са централним сервером: &amp;lt;math&amp;gt;1 = \frac{V_1}{V_0} + \frac{V_2}{V_0} + ... + \frac{V_k}{V_0} + \frac{1}{V_0}&amp;lt;/math&amp;gt;&lt;br /&gt;
** Сабирци су редом једнаки: &amp;lt;math&amp;gt;p_1, p_2, ..., p_k, p_0&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;V_0, V_1, ..., V_k&amp;lt;/math&amp;gt;: просечан број посета сваком од сервисних центара (&amp;lt;math&amp;gt;V_0&amp;lt;/math&amp;gt; је централни сервер, у задацима, узети да је &amp;lt;math&amp;gt;V_0 = 1&amp;lt;/math&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== МВА анализа ==&lt;br /&gt;
* Улазни параметри:&lt;br /&gt;
** &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;: укупан број послова у систему&lt;br /&gt;
** &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt;: средње време размишљања терминала, ако систем није интерактиван онда је 0&lt;br /&gt;
** &amp;lt;math&amp;gt;S_j&amp;lt;/math&amp;gt;: време опслуживања једног посла на сервисном центру &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;V_j&amp;lt;/math&amp;gt;: просечан број посета сервисном центру &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;D_j&amp;lt;/math&amp;gt;: потражња сервисног центра &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
*** Користи се у другој варијанти алгоритма, и добија се као &amp;lt;math&amp;gt;S_j \cdot V_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
* Променљиве:&lt;br /&gt;
** &amp;lt;math&amp;gt;Q_j(n)&amp;lt;/math&amp;gt;: број послова у сервисном центру &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;r_j(n)&amp;lt;/math&amp;gt;: задржавање у сервисном центру &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;R(i)&amp;lt;/math&amp;gt;: време задржавања посла у систему (време одзива)&lt;br /&gt;
** &amp;lt;math&amp;gt;R_j(i)&amp;lt;/math&amp;gt;: време задржавања посла у сервисном центру &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;X(i)&amp;lt;/math&amp;gt;: проток кроз систем&lt;br /&gt;
** &amp;lt;math&amp;gt;X_j(i)&amp;lt;/math&amp;gt;: проток кроз сервисни центар &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;U_j(i)&amp;lt;/math&amp;gt;: искоришћење сервисног центра &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ПРС]]&lt;br /&gt;
[[Категорија:Водичи]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0/%D0%9A2_2023&amp;diff=7671</id>
		<title>Заштита података/К2 2023</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0/%D0%9A2_2023&amp;diff=7671"/>
		<updated>2024-06-12T08:32:47Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* 6. zadatak */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Drugi kolokvijum 2023. godine&#039;&#039;&#039; održan je 5. maja i trajao je sat vremena. Na kolokvijumu su bili dostupni Windows 7 kalkulator, Notepad, Notepad++ i pretraživač.&lt;br /&gt;
&lt;br /&gt;
== 1. grupa ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
&#039;&#039;&#039;[4 poena]&#039;&#039;&#039; U šemi za distribuciju ključeva korišćenjem centra za dostavljanje ključeva (KDC) prikazanoj na slici:&lt;br /&gt;
[[Датотека:ZP K2 2023 grupa 1 zadatak 1.svg|frame|center|Šema za distribuciju ključeva]]&lt;br /&gt;
Šta predstavlja ključ &amp;lt;math&amp;gt;K_s&amp;lt;/math&amp;gt;, čemu služi, ko ga sve poseduje i ako ga poseduje više učesnika na koji način je razmenjen?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;Sesijski ključevi Ks služe za uspostavljanje sesije između dve partije (A i B), ovakvi ključevi traju koliko i logička konekcija između te dve partije. Obe partije dobijaju sesijski ključ Ks od KDC (Key Distribution Centre) autoriteta. Kada dobiju sesijski ključ komunikacija između A i B može da počne, naravno, nakon razmenjivanja N1 i N2 nonce vrednosti zarad autentičnosti dalje komunikacije (stranica 480. u knjizi, slika Figure 15.5)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;[2 poena]&#039;&#039;&#039; Gmail servis danas ima 1.5 milijardi korisnika koji pristup mejlu obezbeđuje pomoću korisničkog imena i lozinke. Ako bi sistem čuvao lozinke tako što bi se čuvale kao &#039;&#039;hash&#039;&#039; (&#039;&#039;password&#039;&#039;+&#039;&#039;salt&#039;&#039;), i ako bi se koristila &#039;&#039;hash&#039;&#039; funkcija čiji je izlaz 64 bita, verovatnoća da će dve lozinke dati isti &#039;&#039;hash&#039;&#039; u ovom slučaju je (netačan odgovori nosi -25%, &amp;quot;Ne znam&amp;quot; nosi 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Tačno 50%&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Manja od 50%&amp;lt;/span&amp;gt;&lt;br /&gt;
# Veća od 50%&lt;br /&gt;
# Ne znam&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;&lt;br /&gt;
da bi bilo više od 50% šanse za slabu koliziju potrebno je 2^32 &amp;gt; 1.5B lozinki, pa je verovatnoća manja od 50%&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
&#039;&#039;&#039;[4 poena]&#039;&#039;&#039; Isti zadatak kao [[Заштита података/Август 2021#1. zadatak|prvi zadatak iz avgustovskog roka 2021. godine]].&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
&#039;&#039;&#039;[3 poena]&#039;&#039;&#039; Da li je u ECB (&#039;&#039;Electronic CodeBook&#039;&#039;) modu funkcionisanja moguće izvršiti enkripciju nad više blokova originalnog teksta u paraleli? A dekripciju?&lt;br /&gt;
&lt;br /&gt;
Kako na ECB mod funkcionisanja utiče greška u jednom bitu prilikom transporta nekog bloka šifrovanog teksta?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;Moguće je izvršiti enkripciju i dekripciju u paraleli jer se nezavisno šifruju blokovi (u odnosu na CBC gde se chain-uju blokovi i greška propagira dalje). Greška u jednom biti priliku transporta utiče samo na taj blok Pi zato što ECB šifruje svaki blok plaintext-a nezavisno, greška će se pojaviti samo u tom bloku Ci.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
&#039;&#039;&#039;[4 poena]&#039;&#039;&#039; TBA&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
{{delimično rešeno}}&lt;br /&gt;
&#039;&#039;&#039;[3 poena]&#039;&#039;&#039; Šta je sve od navedenog deo PGP poruka za koju se obezbeđuje isključivo autentikacija?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# Sesijski ključ kojim je šifrovan potpis, šifrovan javnim ključem pošiljaoca&lt;br /&gt;
# Sesijski ključ kojim je šifrovan potpis, šifrovan privatnim ključem pošiljaoca&lt;br /&gt;
# Sesijski ključ kojim je šifrovan potpis, šifrovan javnim ključem primaoca&lt;br /&gt;
# Sesijski ključ kojim je šifrovan potpis, šifrovan privatnim ključem primaoca&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Identifikator javnog ključa pošiljaoca&amp;lt;/span&amp;gt;&lt;br /&gt;
# Identifikator privatnog ključa pošiljaoca&lt;br /&gt;
# Identifikator javnog ključa primaoca&lt;br /&gt;
# Identifikator privatnog ključa primaoca&lt;br /&gt;
# Identifikator algoritma za asimetrične ključeve&lt;br /&gt;
# Identifikator algoritma za simetrične ključeve&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Identifikator algoritma za hash&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. grupa ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;[4 poena]&#039;&#039;&#039; Data je sledeća šema za decentralizovanu razmenu ključeva:&lt;br /&gt;
[[Датотека:ZP K2 2023 grupa 2 zadatak 1.svg|frame|center|Šema iz prvog zadatka.]]&lt;br /&gt;
Šta na ovoj šemi predstavlja ključ K&amp;lt;sub&amp;gt;m&amp;lt;/sub&amp;gt;, čemu služi, ko ga sve poseduje i, ukoliko ga poseduje više učesnika, na koji način je razmenjen?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;Ključ K&amp;lt;sub&amp;gt;m&amp;lt;/sub&amp;gt; predstavlja &#039;&#039;master&#039;&#039; ključ, koji služi kako bi A i B razmenjivali &#039;&#039;slave&#039;&#039; ključeve sa kojima će šifrovati svoju komunikaciju. Moraju da ga poseduju i A i B kako bi razmenjivali &#039;&#039;slave&#039;&#039; ključeve, a može biti razmenjen komunikacijom preko nekog sigurnog kanala (na primer, A i B se nađu uživo na tajnom mestu i razmene ovaj ključ).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;[2 poena]&#039;&#039;&#039; Isti zadatak kao [[Заштита података/Август 2021#5. zadatak|peti zadatak iz avgustovskog roka 2021. godine]].&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;[4 poena]&#039;&#039;&#039; Ana je kreirala poruku &#039;&#039;M&#039;&#039; koju je poslala Branku dva puta.&lt;br /&gt;
&lt;br /&gt;
Uz poruku je poslala El Gamalov digitalni potpis. Prvi put je vrednost digitalnog potpisa bila: (&amp;lt;math&amp;gt;S_1=110, S_2=791&amp;lt;/math&amp;gt;), a drugi put (&amp;lt;math&amp;gt;S_1=1760, S_2=640&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Branko je izračunao hash dobijene poruke &#039;&#039;M&#039;&#039;. Prvi put je dobio vrednost &amp;lt;math&amp;gt;m=3769&amp;lt;/math&amp;gt;. Javni elementi digitalnog potpisa su &amp;lt;math&amp;gt;q = 5003&amp;lt;/math&amp;gt; i njegov primitivni koren &amp;lt;math&amp;gt;\alpha = 4999&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Anin javni ključ &amp;lt;math&amp;gt;Y_a&amp;lt;/math&amp;gt; je 1682. Provera El Gamalovog digitalnog potpisa se obavlja korišćenjem sledećih operacija:&lt;br /&gt;
* &amp;lt;math&amp;gt;V_1 = \alpha^m mod\ q&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V_2 = (Y_a)^{S_1}(S_1)^{S_2} mod\ q&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Odrediti:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Vrednost &amp;lt;math&amp;gt;V_2&amp;lt;/math&amp;gt; za prvi digitalni potpis: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;4890&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Vrednost &amp;lt;math&amp;gt;V_2&amp;lt;/math&amp;gt; za drugi digitalni potpis: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;2419&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Na osnovu vrednosti &amp;lt;math&amp;gt;V_1&amp;lt;/math&amp;gt; i izračunatih vrednosti u tačkama a) i b), Branko može da zaključi:&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
* Oba digitalna potpisa su ispravna, poruka &#039;&#039;M&#039;&#039; u oba slučaja nije menjana tokom prenosa i oba puta ju je potpisala Ana.&lt;br /&gt;
* &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Samo prvi digitalni potpis je ispravan, samo tada poruka &#039;&#039;M&#039;&#039; nije menjana tokom prenosa i potpisala ju je Ana.&amp;lt;/span&amp;gt;&lt;br /&gt;
* Oba digitalna potpisa su ispravna, ali je poruka &#039;&#039;M&#039;&#039; u drugom slučaju promenjena tokom prenosa ili je tada nije potpisala Ana.&lt;br /&gt;
* Samo prvi digitalni potpis je ispravan i tada je poruku &#039;&#039;M&#039;&#039; potpisala Ana, ali je poruka promenjena između dva potpisivanja.&lt;br /&gt;
* Samo drugi digitalni potpis je ispravan i tada je poruku &#039;&#039;M&#039;&#039; potpisala Ana, a prilikom prvog prenosa poruka ili prvi digitalni potpis su izmenjeni.&lt;br /&gt;
* Nijedan digitalni potpis nije ispravan i ne može se utvrditi da li je Ana potpisala poruku &#039;&#039;M&#039;&#039;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;[3 poena]&#039;&#039;&#039; Da li je u CBC (&#039;&#039;Cipher Block Chain&#039;&#039;) modu funkcionisanja moguće izvršiti enkripciju nad više blokova originalnog teksta u paraleli? A dekripciju?&lt;br /&gt;
&lt;br /&gt;
Kako na CBC mod funkcionisanja utiče greška u jednom bitu prilikom transporta nekog bloka šifrovanog teksta?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odgovor:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;plain&amp;quot;&amp;gt;U CBC modu funkcionisanja jedan blok šifrovanog teksta zavisi od prethodnog bloka, tako da nije moguće šifrovati više blokova odjednom. Dešifrovanje je moguće sprovesti nad više blokova odjednom ukoliko su svi blokovi šifrovanog teksta dostupni u trenutku dešifrovanja. Zbog ove zavisnosti u podacima, greška u jednom bitu tokom transporta bloka šifrovanog teksta će uticati na blok koji se dešifruje, kao i na naredni blok (jer se sa neispravnim blokom radi operacija XOR).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;[4 poena]&#039;&#039;&#039; Sanja je zaboravila da prijavi kolokvijume i želi da pošalje drugarici ključ kako bi ih ona umesto nje prijavila. Šifra joj se sastoji od heksadecimalnih cifara, koristi CCM mod funkcionisanja i algoritam enkripcije radi na nivou bajtova i funkcioniše na sledeći način:&lt;br /&gt;
 ulaz: b&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt; b&amp;lt;sub&amp;gt;n-2&amp;lt;/sub&amp;gt; ... b&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; b&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; izlaz: b&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; b&amp;lt;sub&amp;gt;n-1&amp;lt;/sub&amp;gt; b&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; ...&lt;br /&gt;
(ukratko, prvo se uzima prvi bajt sa desne strane, pa sa leve strane, pa drugi bajt sa desne strane, pa sa leve strane i tako do kraja).&lt;br /&gt;
&lt;br /&gt;
Nonce vrednost je &#039;&#039;&#039;ABCDEFABCDEFABCDEFABCDEF&#039;&#039;&#039;. Drugarica je primila šifrovanu poruku &#039;&#039;&#039;C1C2ACA4FE2601&#039;&#039;&#039; (MAC nije uključen u ovu poruku).&lt;br /&gt;
&lt;br /&gt;
# Koja je vrednost prvog ulaznog bloka tokom dešifrovanja poruke? &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;02ABCDEFABCDEFABCDEFABCDEF000001&amp;lt;/span&amp;gt;&lt;br /&gt;
# Koja je vrednost nakon šifrovanja prvog ulaznog bloka? &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;010200AB00CDEFEFCDABABCDEFEFCDAB&amp;lt;/span&amp;gt;&lt;br /&gt;
# Koja je dešifrovana vrednost? &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;C0C0AC0FFEEBEE&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
&#039;&#039;&#039;[3 poena]&#039;&#039;&#039; Šta je sve od navedenog deo PGP poruke za koju se obezbeđuje isključivo tajnost?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# Sesijski ključ kojim je šifrovan potpis, šifrovan javnim ključem pošiljaoca&lt;br /&gt;
# Sesijski ključ kojim je šifrovan potpis, šifrovan privatnim ključem pošiljaoca&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Sesijski ključ kojim je šifrovan potpis, šifrovan javnim ključem primaoca&amp;lt;/span&amp;gt;&lt;br /&gt;
# Sesijski ključ kojim je šifrovan potpis, šifrovan privatnim ključem primaoca&lt;br /&gt;
# Identifikator javnog ključa pošiljaoca&lt;br /&gt;
# Identifikator privatnog ključa pošiljaoca&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Identifikator javnog ključa primaoca&amp;lt;/span&amp;gt;&lt;br /&gt;
# Identifikator privatnog ključa primaoca&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Identifikator algoritma za asimetrične ključeve&amp;lt;/span&amp;gt;&amp;lt;ref name=&amp;quot;algoritmi&amp;quot;&amp;gt;Ovaj odgovor je na kolokvijumu bio označen kao tačan, ali kako nije pisao na prezentaciji nakon kolokvijuma je označen kao nevažeći na način koji ne oštećuje nijednog studenta.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Identifikator algoritma za simetrične ključeve&amp;lt;/span&amp;gt;&amp;lt;ref name=&amp;quot;algoritmi&amp;quot; /&amp;gt;&lt;br /&gt;
# Identifikator algoritma za hash&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Napomene ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:Заштита података]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0&amp;diff=7431</id>
		<title>Заштита података</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%97%D0%B0%D1%88%D1%82%D0%B8%D1%82%D0%B0_%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0&amp;diff=7431"/>
		<updated>2024-03-19T15:20:35Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* СИ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Предмет&lt;br /&gt;
| шифра     = 13С114ЗП&lt;br /&gt;
| семестар  = 8 (СИ), 6 (РТИ)&lt;br /&gt;
| статус    = обавезни&lt;br /&gt;
| страница  = [https://rti.etf.bg.ac.rs/rti/ir4zp/ rti.etf.rs/rti/ir4zp]&lt;br /&gt;
| одсек     = СИ, РТИ&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Заштита података&#039;&#039;&#039; је обавезни предмет у осмом семестру на СИ, а шестом на РТИ.&lt;br /&gt;
&lt;br /&gt;
== Корисне везе ==&lt;br /&gt;
* Различити калкулатори шифри потребних у првом блоку:&lt;br /&gt;
** [https://fauzanakmalh1.github.io/Simplified-DES-Calculator/ SDES калкулатор]&lt;br /&gt;
** [https://www.dcode.fr/hill-cipher Калкулатор Хилове шифре]&lt;br /&gt;
* [https://drive.google.com/open?id=1-R7Q-cIox5MOMN2v6G10QchN1tccpKnT ETF SI] (стари рокови)&lt;br /&gt;
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/17682830648 ETF Materijali (Box)] (рокови)&lt;br /&gt;
&lt;br /&gt;
== Настава ==&lt;br /&gt;
Настава се изводи кроз предавања и вежбе. Градиво је већински (изузев на почетку) одвојено и потребно је пратити оба како би се успешно спремиле обавезе.&lt;br /&gt;
&lt;br /&gt;
У школској 2022/2023. обрађиване су следеће теме:&lt;br /&gt;
* &#039;&#039;&#039;Први блок:&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;предавања:&#039;&#039;&#039; симетрично шифровање, асиметрично шифровање, RSA, управљање кључевима&lt;br /&gt;
** &#039;&#039;&#039;вежбе:&#039;&#039;&#039; математичке основе (Еуклидов алгоритам, модуларна аритметика, Милер-Рабинов алгоритам), увод у криптографију (Цезар, Плејфер, Хил, Вижњер, моноалфабетске и полиалфабетске шифре, &#039;&#039;Rail Fence&#039;&#039;, &#039;&#039;Row Transposition&#039;&#039;, ротор машине), симетрична енкрипција (DES, SDES, AES, SAES)&lt;br /&gt;
* &#039;&#039;&#039;Други блок:&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;предавања:&#039;&#039;&#039; управљање кључевима, Diffie-Hellman, хеш функције (SHA-256, примене), MAC, аутентикација порука, дигитални потписи (El Gamal, DSS, RSA PSS, пост-квантни алгоритми дигиталног потписивања), X.509&lt;br /&gt;
** &#039;&#039;&#039;вежбе:&#039;&#039;&#039; алгоритми тока података (RC4, Salsa20, ChaCha20), генератори псеудослучајних бројева, 3DES, модови функционисања (ECB, CBC, CFB, OFB, CTR, CCM, GCM) (до ове области за РТИ колоквијум), PGP, S/MIME&lt;br /&gt;
* &#039;&#039;&#039;Трећи блок:&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;предавања:&#039;&#039;&#039; заштита података у употреби, аутентикација корисника, IP сигурност&lt;br /&gt;
** &#039;&#039;&#039;вежбе:&#039;&#039;&#039; заштита система (малвери, уљези), веб сигурност (TLS), Bitcoin blockchain&lt;br /&gt;
Подела градива за колоквијуме и испит није фиксна, већ варира од године до године, а изнад је наведена подела каква је била 2022/2023. године. Градиво се може мењати из године у годину, неке области могу прелазити са предавања на вежбе, и неке области могу доћи раније или касније на колоквијумима у зависности од темпа предавања.&lt;br /&gt;
&lt;br /&gt;
Сав наставни материјал доступан је на &#039;&#039;Moodle&#039;&#039; курсу предмета. Видео материјали су доступни за све области осим пост-квантних алгоритама дигиталног потписивања и заштите података у употреби. У време снимања материјала су се TLS и блокчејн радили на предавањима, а затим су прешли на вежбе. Са вежби је избачена област управљања дозвола на основу улога и презентација из заштите система од нападача је значајно скраћена у односу на снимљено градиво.&lt;br /&gt;
&lt;br /&gt;
== Пројекат ==&lt;br /&gt;
Пројекат на предмету постоји само на СИ, носи 15% оцене, није обавезан, ради се у паровима и брани се у јунском или августовском испитном року. Уколико студент жели да му се призна пројекат, на његову одбрану мора да изађе пре изласка на испит (не може да одбрани пројекат у августовском року а на испит изађе у јунском).&lt;br /&gt;
&lt;br /&gt;
Ради се у програмском језику &#039;&#039;Python&#039;&#039; и задатак је да се направи PGP клијентска апликација са графичким корисничким интерфејсом. Потребно је подржати основне PGP функционалности (тајност, аутентичност, компресију и мејл компатибилност) и све ствари које PGP захтева (асиметричне кључеве за шифровање и потписивање коришћењем различитих алгоритама).&lt;br /&gt;
&lt;br /&gt;
Пре израде се студентима на вежбама не показују конкретни начини израде алгоритама потребни за прављење PGP апликације као ни графичког корисничког интерфејса, поред генералног начина функционисања PGP. Дозвољено је коришћење свих криптографских &#039;&#039;Python&#039;&#039; библиотека које не имплементирају директно PGP (на пример, [https://pycryptodome.readthedocs.io/en/latest/ &amp;lt;code&amp;gt;pycryptodome&amp;lt;/code&amp;gt;] или [https://cryptography.io/en/latest/ &amp;lt;code&amp;gt;cryptography&amp;lt;/code&amp;gt;]) као и било којих библиотека за израду графичког корисничког интерфејса (на пример, &amp;lt;code&amp;gt;PyQt&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;tkinter&amp;lt;/code&amp;gt;). PyQt се препоручује као библиотека за израду корисничког интерфејса, јер омогућава коришћење [https://realpython.com/qt-designer-python/ &#039;&#039;Qt Designer&#039;&#039;] за графичко дизајнирање интерфејса (налик &#039;&#039;Windows Forms&#039;&#039; апликацијама из &#039;&#039;Visual Studio&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
На одбрани пројекта се од студената очекује да, поред показивања да њихов пројекат ради, направе мање модификације на свом пројекту у алгоритамском аспекту (неће бити тражене посебне измене графичког корисничког интерфејса). Пројекти се упоређују на сличност.&lt;br /&gt;
&lt;br /&gt;
== Лабораторијске вежбе ==&lt;br /&gt;
Лабораторијске вежбе на предмету носе 15% оцене. Постоје три лабораторијске вежбе које су конципиране на сличан начин као на [[Рачунарске мреже 2|РМ2]] и свака вреди 5 поена. Свака лабораторијска вежба се ради преко теста на &#039;&#039;Moodle&#039;&#039; платформи и бодује се са највише 100 поена, па се ти поени после скалирају. На самој вежби потребно је проћи кроз симулацију за одговарајући алгоритам у симулатору који је доступан на &#039;&#039;Moodle&#039;&#039; курсу предмета и уписати одговарајућа запажања. Поред тога, потребно је и ручно (на папиру) урадити одређене ставке (најчешће за поједностављене верзије алгоритама). Могућа је само надокнада лабораторијских вежби (једна бесплатна надокнада, и једна која се плаћа у складу са ценовником факултета). Поправка лабораторијских вежби није могућа.&lt;br /&gt;
&lt;br /&gt;
Градиво за лабораторијске вежбе:&lt;br /&gt;
# DES алгоритам&lt;br /&gt;
# AES алгоритам&lt;br /&gt;
# RSA и Diffie-Hellman алгоритам&lt;br /&gt;
&lt;br /&gt;
== Изазови ==&lt;br /&gt;
Изазови се организују на РТИ одсеку у току семестра, обично уторком увече. Потребно је користећи обрађене алгоритме решити одређен проблем (најчешће декрипција података). Школске 2022/2023. године сваки изазов носи пет поена, и добија их особа која најбрже пошаље комплетно тачно решење. Не постоји ограничење по питању учешћа.&lt;br /&gt;
&lt;br /&gt;
== Испитни рокови ==&lt;br /&gt;
На страници предмета постоје рокови од школске 2019/2020. године, након чега је формат испита и колоквијума промењен и одржава се преко &#039;&#039;Moodle&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Рокови сачувани на викију су:&lt;br /&gt;
{{#dpl:&lt;br /&gt;
| category    = Заштита података&lt;br /&gt;
| category    = Рокови&lt;br /&gt;
| format      = ,\n* &amp;lt;span class=&amp;quot;rok,&amp;quot;&amp;gt;[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦18¦-1}²]]&amp;lt;/span&amp;gt;,&lt;br /&gt;
| ordermethod = title&lt;br /&gt;
| include     = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl&lt;br /&gt;
}}&lt;br /&gt;
Уколико желите да додате рок, посетите &#039;&#039;&#039;[[Project:Направи#Moodle|страницу за прављење рока]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Начин оцењивања ==&lt;br /&gt;
=== СИ ===&lt;br /&gt;
* &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; — бодови са лабораторијских вежби (0-10)&lt;br /&gt;
* &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; — бодови са пројекта (0-20)&lt;br /&gt;
* &amp;lt;math&amp;gt;K_1, K_2&amp;lt;/math&amp;gt; — бодови са првог и другог колоквијума, &#039;&#039;&#039;важе само у јунском испитном року&#039;&#039;&#039;, први се надокнађује у другој колоквијумској недељи а други у јунском испитном року (0-20 сваки)&lt;br /&gt;
* &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; — бодови са испита (0-30 у јунском року, 0-70 у свим осталим)&lt;br /&gt;
* &amp;lt;math&amp;gt;P = \left\{\begin{array}{ll}&lt;br /&gt;
    L + P + K_1 + K_2 + I, &amp;amp; \text{јунски рок} \\&lt;br /&gt;
    L + P + I,            &amp;amp; \text{остали рокови}&lt;br /&gt;
\end{array}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== РТИ ===&lt;br /&gt;
На РТИ активности изгледају мало другачије:&lt;br /&gt;
* &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; — бодови са лабораторијских вежби (0-15)&lt;br /&gt;
* &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; — бодови са колоквијума, могућа надокнада у јунском испитном року (0-40)&lt;br /&gt;
* &amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt; — бодови са испита (0-45 парцијално у сваком року, 0-85 интегрално од јулског рока)&lt;br /&gt;
* &amp;lt;math&amp;gt;P = \left\{\begin{array}{ll}&lt;br /&gt;
    L + K + I, &amp;amp; \text{ако се ради парцијални испит} \\&lt;br /&gt;
    L + I, &amp;amp; \text{ако се ради интегрални испит}&lt;br /&gt;
\end{array}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
* Бонус поени се стичу кроз изазове.&lt;br /&gt;
* У јунском року могуће је радити и поправни колоквијум и испит, међутим то се, као ни интегрално полагање, не препоручује, по речима предметног асистента.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Бодови&lt;br /&gt;
| &amp;lt;math&amp;gt;P &amp;lt; 51&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;51 \leq P &amp;lt; 61&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;61 \leq P &amp;lt; 71&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;71 \leq P &amp;lt; 81&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;81 \leq P &amp;lt; 91&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;91 \leq P&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Оцена&lt;br /&gt;
| 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Калкулатор ===&lt;br /&gt;
{{непотпун одељак}}&lt;br /&gt;
&lt;br /&gt;
== Потребна помоћ ==&lt;br /&gt;
* {{задаци|postavke}}&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D0%98%D0%90&amp;diff=7272</id>
		<title>ПИА</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%98%D0%90&amp;diff=7272"/>
		<updated>2024-02-08T01:52:16Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Корисне везе */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Предмет&lt;br /&gt;
| назив     = Програмирање интернет апликација&lt;br /&gt;
| шифра     = 13С114ПИА, 13Е113ПИА&lt;br /&gt;
| семестар  = 7 (СИ), 6 (РТИ)&lt;br /&gt;
| статус    = обавезни&lt;br /&gt;
| страница  = [https://rti.etf.bg.ac.rs/rti/ir4pia/ rti.etf.rs/rti/ir4pia]&lt;br /&gt;
| одсек     = СИ, РТИ&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Програмирање интернет апликација&#039;&#039;&#039; је обавезни предмет у седмом семестру за СИ, а у шестом за РТИ. Мото предмета: &#039;&#039;&#039;Како год, само да ради.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Корисне везе ==&lt;br /&gt;
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/17677849443 ETF Materijali (Box)] (решења старијих рокова)&lt;br /&gt;
* [https://github.com/PavleSarenac/Rokovi_K2_PIA Reseni rokovi sa sajta predmeta (K2)] (решења новијих рокова)&lt;br /&gt;
&lt;br /&gt;
== Настава ==&lt;br /&gt;
На предмету се, за разлику од осталих предмета, градиво предаје у два блока: први у којем се раде &#039;&#039;Angular&#039;&#039; и &#039;&#039;Spring Boot&#039;&#039;, и други у којем се ради MEAN (&#039;&#039;MongoDB&#039;&#039;, &#039;&#039;Express&#039;&#039;, &#039;&#039;Angular&#039;&#039; и &#039;&#039;Node.js&#039;&#039;). Први колоквијум, стога, не буде у колоквијумској недељи већ негде у осмој или деветој недељи семестра, а други колоквијум је уједно и испит и може се полагати у сваком испитном року, као и у предроку који буде у последњој недељи пред јануарски рок. Градиво са предавања генерално није релевантно за колоквијуме и испите и излаже се чисто ради дубљег упознавања са облашћу. На РТИ се, због недостатка [[Веб дизајн|ВД]], у прве три недеље на вежбама раде HTML и CSS, док се прве две недеље на предавањима ради JavaScript.&lt;br /&gt;
&lt;br /&gt;
Вежбе са &#039;&#039;Angular&#039;&#039; и &#039;&#039;Node.js&#039;&#039; се раде у &#039;&#039;Visual Studio Code&#039;&#039;. Све релевантне верзије алата и библиотека, заједно са презентацијама, кодом писаним на вежбама, и почетним пројектима за &#039;&#039;Spring Boot&#039;&#039; и MEAN наведене су на страници предмета.&lt;br /&gt;
&lt;br /&gt;
Тренутно је од материјала на викију доступан [[ПИА/JSF|водич за JSF]], који вероватно неће бити релевантан почев од школске 2023/2024. године.&lt;br /&gt;
&lt;br /&gt;
== Пројекат ==&lt;br /&gt;
Пројекат на предмету носи 30 бодова и обавезан је, са минималних 15 бодова потребно како би се положио предмет. Једна поставка пројекта важи у јануарском и фебруарском року, друга у јунском и јулском и трећа у августовском и септембарском. Ради се или користећи технологије првог или другог блока. Да би бранио пројекат, студент мора да има барем 35 бодова на првом и другом колоквијуму заједно, и барем 10 бодова појединачно. На одбрани се од студента очекује да на рачунару у лабораторији постави пројекат, одговори на питања у вези са њим и евентуалне додатне захтеве. Над предатим пројектима се извршава провера сличности.&lt;br /&gt;
&lt;br /&gt;
Пројекти из претходних године се више не могу наћи на станици предмета, али се по потреби могу наћи [https://web.archive.org/web/*/https://rti.etf.bg.ac.rs/rti/ir4pia/materijali/projekat/* на &#039;&#039;Wayback Machine&#039;&#039;] или на &#039;&#039;Github&#039;&#039; репозиторијумима уз решења која су студенти поставили.&lt;br /&gt;
&lt;br /&gt;
== Лабораторијске вежбе ==&lt;br /&gt;
Лабораторијске вежбе на предмету су показног карактера (као припрема за одговарајући колоквијум) и одржавају се у другом и трећем блоку наставе. За РТИ постоји још једна лабораторијска вежба у првом блоку на којој се раде HTML, CSS, JavaScript и &#039;&#039;Bootstrap&#039;&#039; (градиво које се на СИ обрађује на [[Веб дизајн|Веб дизајну]] и делимично [[ПСИ|Принципима софтверског инжењерства]]). На страници предмета доступни су материјали са претходних лабораторијских вежби.&lt;br /&gt;
&lt;br /&gt;
== Испитни рокови ==&lt;br /&gt;
Испитни рокови доступни су са странице предмета, без решења. На роковима је генерално доступан сав код са вежби, документације свих технологија које се користе, као и почетни пројекат за одговарајућу технологију.&lt;br /&gt;
&lt;br /&gt;
Следећи рокови су решени на викију:&lt;br /&gt;
{{#dpl:&lt;br /&gt;
| category    = ПИА&lt;br /&gt;
| category    = Рокови&lt;br /&gt;
| format      = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],,&lt;br /&gt;
| ordermethod = title&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Начин оцењивања ==&lt;br /&gt;
* &amp;lt;math&amp;gt;K_1&amp;lt;/math&amp;gt; — бодови са првог колоквијума, надокнада у јануару и фебруару или кроз интегрални испит (0-35)&lt;br /&gt;
* &amp;lt;math&amp;gt;K_2&amp;lt;/math&amp;gt; — бодови са другог колоквијума, у сваком року се може радити одвојено или интегрално (0-35)&lt;br /&gt;
* &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; — бодови са пројекта (0-30)&lt;br /&gt;
* &#039;&#039;&#039;Бодови:&#039;&#039;&#039; &amp;lt;math&amp;gt;P = K_1 + K_2 + D&amp;lt;/math&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Услов:&#039;&#039;&#039; &amp;lt;math&amp;gt;K_1 &amp;gt; 10&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;K_2 &amp;gt; 10&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;K_1 + K_2 &amp;gt; 35&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;D &amp;gt; 15&amp;lt;/math&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Бодови&lt;br /&gt;
| &amp;lt;math&amp;gt;P \leq 50&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;50 &amp;lt; P \leq 60&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;60 &amp;lt; P \leq 70&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;70 &amp;lt; P \leq 80&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;80 &amp;lt; P \leq 90&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;90 &amp;lt; P&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Оцена&lt;br /&gt;
| 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Потребна помоћ ==&lt;br /&gt;
* {{задаци|rešenja}}&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%98%D0%95%D0%9F/%D0%A1%D0%B5%D0%BF%D1%82%D0%B5%D0%BC%D0%B1%D0%B0%D1%80_2021&amp;diff=7244</id>
		<title>ИЕП/Септембар 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%98%D0%95%D0%9F/%D0%A1%D0%B5%D0%BF%D1%82%D0%B5%D0%BC%D0%B1%D0%B0%D1%80_2021&amp;diff=7244"/>
		<updated>2024-02-04T00:30:50Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Поставка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Испит у септембарском року 2021. године&#039;&#039;&#039; одржан је 17. септембра. Били су доступни материјали са предавања и трајао је 90 минута. Исти задаци појавили су се на септембарском испиту 2022. године, одржаног 21. септембра.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;calculator&amp;quot;&amp;gt;&lt;br /&gt;
== Поставка ==&lt;br /&gt;
Компанија може користити опремљену сервер салу за опслуживање свог интернет пословања са клијентима из целог света. Сервер сала садржи:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонента&lt;br /&gt;
! Јединична цена&lt;br /&gt;
! Потрошња KW/h&lt;br /&gt;
! Карактеристике&lt;br /&gt;
! Количина&lt;br /&gt;
|-&lt;br /&gt;
| Рек орман&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;rek_cena&amp;quot; data-expression=&amp;quot;1000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;rek_potrosnja&amp;quot; data-expression=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 42U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;rek_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| UPS&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;ups_cena&amp;quot; data-expression=&amp;quot;1500&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;ups_potrosnja&amp;quot; data-expression=&amp;quot;0.25&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 10KVA, 10 минута, 3U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;ups_broj&amp;quot; data-expression=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Шасија&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;sasija_cena&amp;quot; data-expression=&amp;quot;4000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;sasija_potrosnja&amp;quot; data-expression=&amp;quot;0.40&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 12 сервера, 4U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;sasija_broj&amp;quot; data-expression=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Блеид сервер&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;server_cena&amp;quot; data-expression=&amp;quot;4500&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;server_potrosnja&amp;quot; data-expression=&amp;quot;0.30&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 10 језгара&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;server_broj&amp;quot; data-expression=&amp;quot;50&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Фајервол&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;firewall_cena&amp;quot; data-expression=&amp;quot;8800&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;firewall_potrosnja&amp;quot; data-expression=&amp;quot;0.40&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 40 MB у секунди, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;firewall_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Балансер&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;balancer_cena&amp;quot; data-expression=&amp;quot;7000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;balancer_potrosnja&amp;quot; data-expression=&amp;quot;0.25&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 20000 захтева у секунди, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;balancer_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Свич&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;switch_cena&amp;quot; data-expression=&amp;quot;2300&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;switch_potrosnja&amp;quot; data-expression=&amp;quot;0.10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 48 порта 1Gb, + 2 порта 10Gb, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;switch_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Сториџ&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;storage_cena&amp;quot; data-expression=&amp;quot;9100&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;storage_potrosnja&amp;quot; data-expression=&amp;quot;0.45&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 16 TB, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;storage_broj&amp;quot; data-expression=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Напомена:&#039;&#039;&#039; Узети сигурносни фактор 3,5. Конфигурација система је таква да прво долази фајервол и балансер који су смештени испред веб сервера (који даље прослеђује све динамичке захтеве), онда долази други фајервол, иза кога долазе апликативни сервер, сервер базе података и сториџ. Однос снага је 1.41. Однос долазног и одлазног саобраћаја износи 0,15.&lt;br /&gt;
&lt;br /&gt;
Планирани начин рада целокупне опреме је 24 сати дневно, 7 дана у недељи. У сваком тренутку рада сервер сале, неопходно је да постоји дежуран инжењер. Познато је да цена kWh износи 0,05. За потребе сервер сале је неопходан простор од 4 метара квадратних по реку. Изнајмљивање простора се плаћа 25 по квадрату месечно. За повезивање сервер сале на интернет користи се веза брзине 10Gbs по цени од 3000 месечно. Плата дежурног инжењера за осмочасовно радно време је 1500 месечно. За потребе опремања сервер сале, компанија је узела позајмицу са фиксном каматном ратом од 5% на годишњем нивоу. Период амортизације опреме је 3 године.&lt;br /&gt;
# Колико износе капитална улагања (CAPEX) за опремање описане сервер сале на основу података датих у табели. Занемарити потребу за резервним деловима и расхладним системом.&lt;br /&gt;
# Колико износе оперативна улагања (OPEX) за месец дана планираног начина рада сервер сале?&lt;br /&gt;
# Сајт компаније равномерно током дана посећују посетиоци, при чему сваки посетилац сајт посећује 10 минута и за то време посети у просеку 8 страница. Да би се формирала једна страница, потребно је направити 17 захтева ка статичким елементима страница и 10 ка динамичким елементима странице. Код сваког динамичког елемента у просеку се 1,4 пута приступа бази података. Унутар виртуелне машине на једном језгру време обраде статичких захтева износи 0,25 ms, динамичких 1,5 ms, а приступ бази траје у просеку 5,5 ms. Веб сервер, апликативни сервер и сервер базе података се налазе на различитим физичким блеид серверима. Величина одговора на статичке захтеве износи 18 KB, динамичке 2,0 KB а базе 6.1 KB. Колико максимално посетилаца може подржати дата сервер сала?&lt;br /&gt;
# У случају максималног броја посетиоца која ће прва компонента доћи до максималног оптерећења?&lt;br /&gt;
&lt;br /&gt;
== Решење ==&lt;br /&gt;
=== CAPEX ===&lt;br /&gt;
Капитални трошкови нам се овде састоје само од опреме коју купујемо инцијално. У табели су излистане јединична цена и количина за сваку компоненту, па само треба да их саберемо:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;CAPEX = \sum_{i = 1}^{8} cena_i \cdot kolicina_i = &amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;CAPEX&amp;quot; data-expression=&amp;quot;rek_cena rek_broj * ups_cena ups_broj * sasija_cena sasija_broj * server_cena server_broj * firewall_cena firewall_broj * balancer_cena balancer_broj * switch_cena switch_broj * storage_cena storage_broj * + + + + + + +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OPEX ===&lt;br /&gt;
У оперативне трошкове нам овде спадају струја, отплата кредита, плате запослених, изнајмљивање простора и изнајмљивање интернета.&lt;br /&gt;
* &#039;&#039;&#039;Струја:&#039;&#039;&#039;&lt;br /&gt;
** Укупан број критичних киловати по сату: &amp;lt;math&amp;gt;kWh_{total} = \sum_{i = 1}^{8} potrosnja_i \cdot kolicina_i =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;kWh&amp;quot; data-expression=&amp;quot;rek_potrosnja rek_broj * ups_potrosnja ups_broj * sasija_potrosnja sasija_broj * server_potrosnja server_broj * firewall_potrosnja firewall_broj * balancer_potrosnja balancer_broj * switch_potrosnja switch_broj * storage_potrosnja storage_broj * + + + + + + +&amp;quot;&amp;gt;&lt;br /&gt;
** Да бисмо добили месечну цену струје, треба израчунати број критичних киловати по сату, помножити са односом снага (PUE), бројем сати у месецу, и цени по киловату.&lt;br /&gt;
** &amp;lt;math&amp;gt;struja = kWh_{total} \cdot 24 \cdot 30 \cdot 1.41 \cdot 0.05 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;struja&amp;quot; data-expression=&amp;quot;kWh 24 30 1.41 0.05 * * * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Отплата:&#039;&#039;&#039;&lt;br /&gt;
** Месечна каматна стопа: &amp;lt;math&amp;gt;K = 0.05 / 12 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;K&amp;quot; data-expression=&amp;quot;0.05 12 /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
** Укупан број рата: &amp;lt;math&amp;gt;N = 3 \cdot 12 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;N&amp;quot; data-expression=&amp;quot;3 12 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
** Цена месечне отплате: &amp;lt;math&amp;gt;otplata = \frac{K \cdot CAPEX}{1 - (1 + K)^{-N}} = &amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;otplata&amp;quot; data-expression=&amp;quot;K CAPEX * 1 1 K + 0 N - ^ - /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Плате:&#039;&#039;&#039;&lt;br /&gt;
** Сваки радник може да ради 8 часова дневно, тако да може да покрије трећину дана. По Закону о раду, радници не смеју да раде више од 40 сати недељно. Због овога, потребно нам је барем 5 радника како бисмо покрили целу недељу.&lt;br /&gt;
** &amp;lt;math&amp;gt;plate = 5 \cdot 1500 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;plate&amp;quot; data-expression=&amp;quot;5 1500 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Простор:&#039;&#039;&#039; Два река од 4 квадратна метра, 25 по метру квадратном укупно чини &amp;lt;math&amp;gt;prostor = 4 \cdot 2 \cdot 25 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;prostor&amp;quot; data-expression=&amp;quot;2 4 25 * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Интернет:&#039;&#039;&#039; Фиксна цена од &amp;lt;span data-variable=&amp;quot;internet&amp;quot; data-expression=&amp;quot;3000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; месечно.&lt;br /&gt;
* &amp;lt;math&amp;gt;OPEX = struja + otplata + plate + prostor + internet =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;OPEX&amp;quot; data-expression=&amp;quot;struja otplata plate prostor internet + + + +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Посетиоци ===&lt;br /&gt;
Овај задатак је мало другачији него што је рађено на предавању, у смислу да нам је дата инфраструктура и тражи нам се број корисника уместо да нам је дат број корисника и тражи се инфраструктура. Због тога, морамо да одредимо колико одређени делови система могу да приме конкурентних корисника. Могуће слабе тачке (&#039;&#039;bottleneck&#039;&#039;) наше инфраструктуре су:&lt;br /&gt;
* Процесорски капацитет балансера&lt;br /&gt;
* Процесорски капацитет сервера&lt;br /&gt;
* Мрежни капацитет базе&lt;br /&gt;
* Мрежни капацитет фајервола&lt;br /&gt;
* Мрежни капацитет осталих сервера&lt;br /&gt;
Проверу мрежног капацитета осталих сервера можемо да изоставимо јер је ограничење на фајерволу (40 MB/s) много веће него ограничење одлазног саобраћаја са сервера (10Gbps).&lt;br /&gt;
&lt;br /&gt;
Капацитет делова система ћемо гледати у броју страница по секунди (&amp;lt;math&amp;gt;sps&amp;lt;/math&amp;gt;) које могу да опслуже.&lt;br /&gt;
&lt;br /&gt;
==== Фајервол ====&lt;br /&gt;
Фајервол је компонента система која филтрира &#039;&#039;&#039;долазни&#039;&#039;&#039; саобраћај. Ограничење на фајерволу је изражено у томе што може да филтрира &amp;lt;span data-variable=&amp;quot;firewall_kapacitet&amp;quot; data-expression=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; MB/s улазног саобраћаја. Количина долазног саобраћаја нам није дата у задатку, али нам је дато да је однос долазног и одлазног саобраћаја &amp;lt;span data-variable=&amp;quot;odnos_dolazni_odlazni&amp;quot; data-expression=&amp;quot;0.15&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; и колико се тачно преноси одлазног саобраћаја кад корисник направи захтев ка страници:&lt;br /&gt;
* Статичких захтева по страници: &amp;lt;span data-variable=&amp;quot;staticki_zahtevi_po_stranici&amp;quot; data-expression=&amp;quot;17&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Динамичких захтева по страници: &amp;lt;span data-variable=&amp;quot;dinamicki_zahtevi_po_stranici&amp;quot; data-expression=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Саобраћај ка бази се не рачуна овде зато што корисници не праве захтеве директно ка бази и саобраћај од базе не излази ван граница серверске сале. Мрежни капацитет базе се рачуна одвојено.&lt;br /&gt;
* Број килобајта по статичком захтеву: &amp;lt;span data-variable=&amp;quot;staticki_zahtev_kb&amp;quot; data-expression=&amp;quot;18&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број килобајта по динамичком захтеву: &amp;lt;span data-variable=&amp;quot;dinamicki_zahtev_kb&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Одлазни саобраћај у килобајтима за једну страницу: &amp;lt;math&amp;gt;odlazni\_saobracaj\_kb\_stranica = staticki\_zahtevi\_po\_stranici \cdot staticki\_zahtev\_kb + dinamicki\_zahtevi\_po\_stranici \cdot dinamicki\_zahtev\_kb =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;odlazni_saobracaj_kb_stranica&amp;quot; data-expression=&amp;quot;staticki_zahtevi_po_stranici staticki_zahtev_kb * dinamicki_zahtevi_po_stranici dinamicki_zahtev_kb * +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Долазни саобраћај у килобајтима за једну страницу: &amp;lt;math&amp;gt;dolazni\_saobracaj\_kb = odlazni\_saobracaj\_kb\_stranica \cdot odnos\_dolazni\_odlazni =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;dolazni_saobracaj_kb&amp;quot; data-expression=&amp;quot;odlazni_saobracaj_kb_stranica odnos_dolazni_odlazni *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница које могу да прођу кроз фајервол за једну секунду: &amp;lt;math&amp;gt;sps\_firewall = \frac{firewall\_kapacitet \cdot 1024}{dolazni\_saobracaj\_kb} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_firewall&amp;quot; data-expression=&amp;quot;firewall_kapacitet 1024 * dolazni_saobracaj_kb /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Балансер ====&lt;br /&gt;
Балансер је компонента која може да опслужи &amp;lt;span data-variable=&amp;quot;balancer_kapacitet&amp;quot; data-expression=&amp;quot;20000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; захтева по секунди. У ове захтеве се не рачунају захтеви ка бази јер они не пролазе кроз балансер.&lt;br /&gt;
* Број захтева по страници: &amp;lt;math&amp;gt;zahtevi\_po\_stranici = staticki\_zahtevi\_po\_stranici + dinamicki\_zahtevi\_po\_stranici =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;zahtevi_po_stranici&amp;quot; data-expression=&amp;quot;staticki_zahtevi_po_stranici dinamicki_zahtevi_po_stranici +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница које могу да прођу кроз два балансера за једну секунду: &amp;lt;math&amp;gt;sps\_balancer = \frac{2 \cdot balancer\_kapacitet}{zahtevi\_po\_stranici} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_balancer&amp;quot; data-expression=&amp;quot;balancer_kapacitet 2 * zahtevi_po_stranici /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Сервери ====&lt;br /&gt;
Сервери се деле на три типа: веб сервер, апликативни сервер и сервер базе података. Не знамо колико сервера имамо од сваке групе, али можемо да израчунамо колико једно језгро процесора може да опслужи захтева потребних за сервирање једне странице у једној секунди.&lt;br /&gt;
* Време обраде веб сервера по страници: &amp;lt;math&amp;gt;vreme\_obrade\_veb\_server\_ms = staticki\_zahtevi\_po\_stranici \cdot 0.25ms =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;vreme_obrade_veb_server_ms&amp;quot; data-expression=&amp;quot;staticki_zahtevi_po_stranici 0.25 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Време обраде апликативног сервера по страници: &amp;lt;math&amp;gt;vreme\_obrade\_aplikativni\_server\_ms = dinamicki\_zahtevi\_po\_stranici \cdot 1.5ms =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;vreme_obrade_aplikativni_server_ms&amp;quot; data-expression=&amp;quot;dinamicki_zahtevi_po_stranici 1.5 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Време обраде сервера базе података по страници: &amp;lt;math&amp;gt;vreme\_obrade\_baza\_ms = dinamicki\_zahtevi\_po\_stranici \cdot 1.4 \cdot 5.5ms =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;vreme_obrade_baza_ms&amp;quot; data-expression=&amp;quot;dinamicki_zahtevi_po_stranici 1.4 5.5 * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број &amp;quot;страница&amp;quot; по секунди сервираних од једног језгра веб сервера: &amp;lt;math&amp;gt;sps\_veb\_server = \frac{1000}{vreme\_obrade\_veb\_server\_ms} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_veb_server&amp;quot; data-expression=&amp;quot;1000 vreme_obrade_veb_server_ms /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број &amp;quot;страница&amp;quot; по секунди сервираних од једног језгра апликативног сервера: &amp;lt;math&amp;gt;sps\_aplikativni\_server = \frac{1000}{vreme\_obrade\_aplikativni\_server\_ms} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_aplikativni_server&amp;quot; data-expression=&amp;quot;1000 vreme_obrade_aplikativni_server_ms /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број &amp;quot;страница&amp;quot; по секунди сервираних од једног језгра веб сервера: &amp;lt;math&amp;gt;sps\_baza = \frac{1000}{vreme\_obrade\_baza\_ms} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_baza&amp;quot; data-expression=&amp;quot;1000 vreme_obrade_baza_ms /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних типова сервера очигледно можемо да одредимо на основу реципрочне вредности страница по секунди које могу да сервирају. Прво рачунамо збир тих реципрочних вредности: &amp;lt;math&amp;gt;reciprocni\_zbir\_sps = \frac{1}{sps\_veb\_server} + \frac{1}{sps\_aplikativni\_server} + \frac{1}{sps\_baza} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;reciprocni_zbir_sps&amp;quot; data-expression=&amp;quot;1 sps_veb_server / 1 sps_aplikativni_server / 1 sps_baza / + +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних веб сервера, заокружен на ближи број: &amp;lt;math&amp;gt;veb\_serveri = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_veb\_server} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;veb_serveri&amp;quot; data-expression=&amp;quot;50 reciprocni_zbir_sps sps_veb_server * / round&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних апликативних сервера, заокружен на ближи број: &amp;lt;math&amp;gt;aplikativni\_serveri = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_aplikativni\_server} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;aplikativni_serveri&amp;quot; data-expression=&amp;quot;50 reciprocni_zbir_sps sps_aplikativni_server * / round&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних сервера база података, заокружен на ближи број: &amp;lt;math&amp;gt;baze = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_baza} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;baze&amp;quot; data-expression=&amp;quot;50 reciprocni_zbir_sps sps_baza * / round&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Сад кад смо распоредили своје сервере на равномеран начин, можемо да израчунамо који тип сервера нам представља уско грло и на основу њега одредимо колико страница по секунди наши сервери имају процесорске моћи да сервирају.&lt;br /&gt;
* Број језгара по процесору: &amp;lt;span data-variable=&amp;quot;jezgra&amp;quot; data-expression=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница по секунди које могу веб сервери да сервирају: &amp;lt;math&amp;gt;sps\_veb\_serveri = veb\_serveri \cdot jezgra \cdot sps\_veb\_server =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_veb_serveri&amp;quot; data-expression=&amp;quot;veb_serveri jezgra sps_veb_server * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница по секунди које могу апликативни сервери да сервирају: &amp;lt;math&amp;gt;sps\_aplikativni\_serveri = aplikativni\_serveri \cdot jezgra \cdot sps\_aplikativni\_server =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_aplikativni_serveri&amp;quot; data-expression=&amp;quot;aplikativni_serveri jezgra sps_aplikativni_server * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница по секунди које могу сервери база података да сервирају: &amp;lt;math&amp;gt;sps\_baze = baze \cdot jezgra \cdot sps\_baza =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_baze&amp;quot; data-expression=&amp;quot;baze jezgra sps_baza * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Можемо да видимо да је минимум ова три броја &amp;lt;span data-variable=&amp;quot;sps_baze&amp;quot; data-expression=&amp;quot;sps_veb_serveri sps_aplikativni_serveri sps_baze min min&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;, и то је број страница по секунди које наши сервери могу да подрже.&lt;br /&gt;
&lt;br /&gt;
==== База ====&lt;br /&gt;
У задатку је такође дат податак о томе колико података сервери базе података шаљу при одговору на захтев. Ово би требало да проверимо за случај да наши сервери базе података шаљу превише података и веза у серверској сали то не може да подржи.&lt;br /&gt;
* Подаци које сервер базе података пошаље по страници: &amp;lt;math&amp;gt;podaci\_baza\_stranica = dinamicki\_zahtevi\_po\_stranici \cdot 1.4 \cdot 6.1KB =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;podaci_baza_stranica&amp;quot; data-expression=&amp;quot;dinamicki_zahtevi_po_stranici 1.4 6.1 * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;KB&lt;br /&gt;
* Подаци које сервер базе података пошаље по секунди: &amp;lt;math&amp;gt;podaci\_baza\_ukupno = podaci\_baza\_stranica \cdot sps\_baza \cdot jezgra =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;podaci_baza_ukupno&amp;quot; data-expression=&amp;quot;podaci_baza_stranica sps_baza jezgra * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;KB = &amp;lt;span data-variable=&amp;quot;podaci_baza_ukupno&amp;quot; data-expression=&amp;quot;podaci_baza_ukupno 1024 / 1024 / 8 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Gb&lt;br /&gt;
* Пошто је крајњи број мањи од 1Gb, наши сервери базе података имају довољно протока.&lt;br /&gt;
&lt;br /&gt;
==== Решење ====&lt;br /&gt;
У суштини, видимо да нам је уско грло у систему овде фајервол. На основу тога, пошто имамо број страница по секунди колики тај фајервол може да опслужи, можемо да израчунамо колико корисника може да опслужи.&lt;br /&gt;
* Број посећених страница: &amp;lt;span data-variable=&amp;quot;posecene_stranice&amp;quot; data-expression=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Дужина сесије: &amp;lt;span data-variable=&amp;quot;duzina_sesije&amp;quot; data-expression=&amp;quot;10 60 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;s&lt;br /&gt;
* Број конкурентних корисника: &amp;lt;math&amp;gt;broj\_konkurentnih\_korisnika = \frac{sps\_firewall}{\frac{posecene\_stranice}{duzina\_sesije}} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;broj_konkurentnih_korisnika&amp;quot; data-expression=&amp;quot;sps_firewall posecene_stranice duzina_sesije / /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Број конкурентних корисника са сигурносним фактором:&#039;&#039;&#039; &amp;lt;math&amp;gt;\frac{broj\_konkurentnih\_korisnika}{3.5} =&amp;lt;/math&amp;gt; &amp;lt;span data-expression=&amp;quot;broj_konkurentnih_korisnika 3.5 /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ИЕП]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%98%D0%95%D0%9F/%D0%A1%D0%B5%D0%BF%D1%82%D0%B5%D0%BC%D0%B1%D0%B0%D1%80_2021&amp;diff=7243</id>
		<title>ИЕП/Септембар 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%98%D0%95%D0%9F/%D0%A1%D0%B5%D0%BF%D1%82%D0%B5%D0%BC%D0%B1%D0%B0%D1%80_2021&amp;diff=7243"/>
		<updated>2024-02-03T22:48:20Z</updated>

		<summary type="html">&lt;p&gt;Etfsibg: /* Поставка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Испит у септембарском року 2021. године&#039;&#039;&#039; одржан је 17. септембра. Били су доступни материјали са предавања и трајао је 90 минута. Исти задаци појавили су се на септембарском испиту 2022. године, одржаног 21. септембра.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;calculator&amp;quot;&amp;gt;&lt;br /&gt;
== Поставка ==&lt;br /&gt;
Компанија може користити опремљену сервер салу за опслуживање свог интернет пословања са клијентима из целог света. Сервер сала садржи:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонента&lt;br /&gt;
! Јединична цена&lt;br /&gt;
! Потрошња KW/h&lt;br /&gt;
! Карактеристике&lt;br /&gt;
! Количина&lt;br /&gt;
|-&lt;br /&gt;
| Рек орман&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;rek_cena&amp;quot; data-expression=&amp;quot;1000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;rek_potrosnja&amp;quot; data-expression=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 42U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;rek_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| UPS&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;ups_cena&amp;quot; data-expression=&amp;quot;1500&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;ups_potrosnja&amp;quot; data-expression=&amp;quot;0.25&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 10KVA, 10 минута, 3U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;ups_broj&amp;quot; data-expression=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Шасија&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;sasija_cena&amp;quot; data-expression=&amp;quot;4000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;sasija_potrosnja&amp;quot; data-expression=&amp;quot;0.40&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 12 сервера, 4U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;sasija_broj&amp;quot; data-expression=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Блеид сервер&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;server_cena&amp;quot; data-expression=&amp;quot;4500&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;server_potrosnja&amp;quot; data-expression=&amp;quot;0.30&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 10 језгра&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;server_broj&amp;quot; data-expression=&amp;quot;50&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Фајервол&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;firewall_cena&amp;quot; data-expression=&amp;quot;8800&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;firewall_potrosnja&amp;quot; data-expression=&amp;quot;0.40&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 40 MB у секунди, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;firewall_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Балансер&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;balancer_cena&amp;quot; data-expression=&amp;quot;7000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;balancer_potrosnja&amp;quot; data-expression=&amp;quot;0.25&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 20000 захтева у секунди, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;balancer_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Свич&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;switch_cena&amp;quot; data-expression=&amp;quot;2300&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;switch_potrosnja&amp;quot; data-expression=&amp;quot;0.10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 48 порта 1Gb, + 2 порта 10Gb, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;switch_broj&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Сториџ&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;storage_cena&amp;quot; data-expression=&amp;quot;9100&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;storage_potrosnja&amp;quot; data-expression=&amp;quot;0.45&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
| 16 TB, 2U&lt;br /&gt;
| &amp;lt;span data-variable=&amp;quot;storage_broj&amp;quot; data-expression=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Напомена:&#039;&#039;&#039; Узети сигурносни фактор 3,5. Конфигурација система је таква да прво долази фајервол и балансер који су смештени испред веб сервера (који даље прослеђује све динамичке захтеве), онда долази други фајервол, иза кога долазе апликативни сервер, сервер базе података и сториџ. Однос снага је 1.41. Однос долазног и одлазног саобраћаја износи 0,15.&lt;br /&gt;
&lt;br /&gt;
Планирани начин рада целокупне опреме је 24 сати дневно, 7 дана у недељи. У сваком тренутку рада сервер сале, неопходно је да постоји дежуран инжењер. Познато је да цена kWh износи 0,05. За потребе сервер сале је неопходан простор од 4 метара квадратних по реку. Изнајмљивање простора се плаћа 25 по квадрату месечно. За повезивање сервер сале на интернет користи се веза брзине 10Gbs по цени од 3000 месечно. Плата дежурног инжењера за осмочасовно радно време је 1500 месечно. За потребе опремања сервер сале, компанија је узела позајмицу са фиксном каматном ратом од 5% на годишњем нивоу. Период амортизације опреме је 3 године.&lt;br /&gt;
# Колико износе капитална улагања (CAPEX) за опремање описане сервер сале на основу података датих у табели. Занемарити потребу за резервним деловима и расхладним системом.&lt;br /&gt;
# Колико износе оперативна улагања (OPEX) за месец дана планираног начина рада сервер сале?&lt;br /&gt;
# Сајт компаније равномерно током дана посећују посетиоци, при чему сваки посетилац сајт посећује 10 минута и за то време посети у просеку 8 страница. Да би се формирала једна страница, потребно је направити 17 захтева ка статичким елементима страница и 10 ка динамичким елементима странице. Код сваког динамичког елемента у просеку се 1,4 пута приступа бази података. Унутар виртуелне машине на једном језгру време обраде статичких захтева износи 0,25 ms, динамичких 1,5 ms, а приступ бази траје у просеку 5,5 ms. Веб сервер, апликативни сервер и сервер базе података се налазе на различитим физичким блеид серверима. Величина одговора на статичке захтеве износи 18 KB, динамичке 2,0 KB а базе 6.1 KB. Колико максимално посетилаца може подржати дата сервер сала?&lt;br /&gt;
# У случају максималног броја посетиоца која ће прва компонента доћи до максималног оптерећења?&lt;br /&gt;
&lt;br /&gt;
== Решење ==&lt;br /&gt;
=== CAPEX ===&lt;br /&gt;
Капитални трошкови нам се овде састоје само од опреме коју купујемо инцијално. У табели су излистане јединична цена и количина за сваку компоненту, па само треба да их саберемо:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;CAPEX = \sum_{i = 1}^{8} cena_i \cdot kolicina_i = &amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;CAPEX&amp;quot; data-expression=&amp;quot;rek_cena rek_broj * ups_cena ups_broj * sasija_cena sasija_broj * server_cena server_broj * firewall_cena firewall_broj * balancer_cena balancer_broj * switch_cena switch_broj * storage_cena storage_broj * + + + + + + +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OPEX ===&lt;br /&gt;
У оперативне трошкове нам овде спадају струја, отплата кредита, плате запослених, изнајмљивање простора и изнајмљивање интернета.&lt;br /&gt;
* &#039;&#039;&#039;Струја:&#039;&#039;&#039;&lt;br /&gt;
** Укупан број критичних киловати по сату: &amp;lt;math&amp;gt;kWh_{total} = \sum_{i = 1}^{8} potrosnja_i \cdot kolicina_i =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;kWh&amp;quot; data-expression=&amp;quot;rek_potrosnja rek_broj * ups_potrosnja ups_broj * sasija_potrosnja sasija_broj * server_potrosnja server_broj * firewall_potrosnja firewall_broj * balancer_potrosnja balancer_broj * switch_potrosnja switch_broj * storage_potrosnja storage_broj * + + + + + + +&amp;quot;&amp;gt;&lt;br /&gt;
** Да бисмо добили месечну цену струје, треба израчунати број критичних киловати по сату, помножити са односом снага (PUE), бројем сати у месецу, и цени по киловату.&lt;br /&gt;
** &amp;lt;math&amp;gt;struja = kWh_{total} \cdot 24 \cdot 30 \cdot 1.41 \cdot 0.05 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;struja&amp;quot; data-expression=&amp;quot;kWh 24 30 1.41 0.05 * * * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Отплата:&#039;&#039;&#039;&lt;br /&gt;
** Месечна каматна стопа: &amp;lt;math&amp;gt;K = 0.05 / 12 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;K&amp;quot; data-expression=&amp;quot;0.05 12 /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
** Укупан број рата: &amp;lt;math&amp;gt;N = 3 \cdot 12 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;N&amp;quot; data-expression=&amp;quot;3 12 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
** Цена месечне отплате: &amp;lt;math&amp;gt;otplata = \frac{K \cdot CAPEX}{1 - (1 + K)^{-N}} = &amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;otplata&amp;quot; data-expression=&amp;quot;K CAPEX * 1 1 K + 0 N - ^ - /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Плате:&#039;&#039;&#039;&lt;br /&gt;
** Сваки радник може да ради 8 часова дневно, тако да може да покрије трећину дана. По Закону о раду, радници не смеју да раде више од 40 сати недељно. Због овога, потребно нам је барем 5 радника како бисмо покрили целу недељу.&lt;br /&gt;
** &amp;lt;math&amp;gt;plate = 5 \cdot 1500 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;plate&amp;quot; data-expression=&amp;quot;5 1500 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Простор:&#039;&#039;&#039; Два река од 4 квадратна метра, 25 по метру квадратном укупно чини &amp;lt;math&amp;gt;prostor = 4 \cdot 2 \cdot 25 =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;prostor&amp;quot; data-expression=&amp;quot;2 4 25 * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Интернет:&#039;&#039;&#039; Фиксна цена од &amp;lt;span data-variable=&amp;quot;internet&amp;quot; data-expression=&amp;quot;3000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; месечно.&lt;br /&gt;
* &amp;lt;math&amp;gt;OPEX = struja + otplata + plate + prostor + internet =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;OPEX&amp;quot; data-expression=&amp;quot;struja otplata plate prostor internet + + + +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Посетиоци ===&lt;br /&gt;
Овај задатак је мало другачији него што је рађено на предавању, у смислу да нам је дата инфраструктура и тражи нам се број корисника уместо да нам је дат број корисника и тражи се инфраструктура. Због тога, морамо да одредимо колико одређени делови система могу да приме конкурентних корисника. Могуће слабе тачке (&#039;&#039;bottleneck&#039;&#039;) наше инфраструктуре су:&lt;br /&gt;
* Процесорски капацитет балансера&lt;br /&gt;
* Процесорски капацитет сервера&lt;br /&gt;
* Мрежни капацитет базе&lt;br /&gt;
* Мрежни капацитет фајервола&lt;br /&gt;
* Мрежни капацитет осталих сервера&lt;br /&gt;
Проверу мрежног капацитета осталих сервера можемо да изоставимо јер је ограничење на фајерволу (40 MB/s) много веће него ограничење одлазног саобраћаја са сервера (10Gbps).&lt;br /&gt;
&lt;br /&gt;
Капацитет делова система ћемо гледати у броју страница по секунди (&amp;lt;math&amp;gt;sps&amp;lt;/math&amp;gt;) које могу да опслуже.&lt;br /&gt;
&lt;br /&gt;
==== Фајервол ====&lt;br /&gt;
Фајервол је компонента система која филтрира &#039;&#039;&#039;долазни&#039;&#039;&#039; саобраћај. Ограничење на фајерволу је изражено у томе што може да филтрира &amp;lt;span data-variable=&amp;quot;firewall_kapacitet&amp;quot; data-expression=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; MB/s улазног саобраћаја. Количина долазног саобраћаја нам није дата у задатку, али нам је дато да је однос долазног и одлазног саобраћаја &amp;lt;span data-variable=&amp;quot;odnos_dolazni_odlazni&amp;quot; data-expression=&amp;quot;0.15&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; и колико се тачно преноси одлазног саобраћаја кад корисник направи захтев ка страници:&lt;br /&gt;
* Статичких захтева по страници: &amp;lt;span data-variable=&amp;quot;staticki_zahtevi_po_stranici&amp;quot; data-expression=&amp;quot;17&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Динамичких захтева по страници: &amp;lt;span data-variable=&amp;quot;dinamicki_zahtevi_po_stranici&amp;quot; data-expression=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Саобраћај ка бази се не рачуна овде зато што корисници не праве захтеве директно ка бази и саобраћај од базе не излази ван граница серверске сале. Мрежни капацитет базе се рачуна одвојено.&lt;br /&gt;
* Број килобајта по статичком захтеву: &amp;lt;span data-variable=&amp;quot;staticki_zahtev_kb&amp;quot; data-expression=&amp;quot;18&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број килобајта по динамичком захтеву: &amp;lt;span data-variable=&amp;quot;dinamicki_zahtev_kb&amp;quot; data-expression=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Одлазни саобраћај у килобајтима за једну страницу: &amp;lt;math&amp;gt;odlazni\_saobracaj\_kb\_stranica = staticki\_zahtevi\_po\_stranici \cdot staticki\_zahtev\_kb + dinamicki\_zahtevi\_po\_stranici \cdot dinamicki\_zahtev\_kb =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;odlazni_saobracaj_kb_stranica&amp;quot; data-expression=&amp;quot;staticki_zahtevi_po_stranici staticki_zahtev_kb * dinamicki_zahtevi_po_stranici dinamicki_zahtev_kb * +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Долазни саобраћај у килобајтима за једну страницу: &amp;lt;math&amp;gt;dolazni\_saobracaj\_kb = odlazni\_saobracaj\_kb\_stranica \cdot odnos\_dolazni\_odlazni =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;dolazni_saobracaj_kb&amp;quot; data-expression=&amp;quot;odlazni_saobracaj_kb_stranica odnos_dolazni_odlazni *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница које могу да прођу кроз фајервол за једну секунду: &amp;lt;math&amp;gt;sps\_firewall = \frac{firewall\_kapacitet \cdot 1024}{dolazni\_saobracaj\_kb} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_firewall&amp;quot; data-expression=&amp;quot;firewall_kapacitet 1024 * dolazni_saobracaj_kb /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Балансер ====&lt;br /&gt;
Балансер је компонента која може да опслужи &amp;lt;span data-variable=&amp;quot;balancer_kapacitet&amp;quot; data-expression=&amp;quot;20000&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; захтева по секунди. У ове захтеве се не рачунају захтеви ка бази јер они не пролазе кроз балансер.&lt;br /&gt;
* Број захтева по страници: &amp;lt;math&amp;gt;zahtevi\_po\_stranici = staticki\_zahtevi\_po\_stranici + dinamicki\_zahtevi\_po\_stranici =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;zahtevi_po_stranici&amp;quot; data-expression=&amp;quot;staticki_zahtevi_po_stranici dinamicki_zahtevi_po_stranici +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница које могу да прођу кроз два балансера за једну секунду: &amp;lt;math&amp;gt;sps\_balancer = \frac{2 \cdot balancer\_kapacitet}{zahtevi\_po\_stranici} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_balancer&amp;quot; data-expression=&amp;quot;balancer_kapacitet 2 * zahtevi_po_stranici /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Сервери ====&lt;br /&gt;
Сервери се деле на три типа: веб сервер, апликативни сервер и сервер базе података. Не знамо колико сервера имамо од сваке групе, али можемо да израчунамо колико једно језгро процесора може да опслужи захтева потребних за сервирање једне странице у једној секунди.&lt;br /&gt;
* Време обраде веб сервера по страници: &amp;lt;math&amp;gt;vreme\_obrade\_veb\_server\_ms = staticki\_zahtevi\_po\_stranici \cdot 0.25ms =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;vreme_obrade_veb_server_ms&amp;quot; data-expression=&amp;quot;staticki_zahtevi_po_stranici 0.25 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Време обраде апликативног сервера по страници: &amp;lt;math&amp;gt;vreme\_obrade\_aplikativni\_server\_ms = dinamicki\_zahtevi\_po\_stranici \cdot 1.5ms =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;vreme_obrade_aplikativni_server_ms&amp;quot; data-expression=&amp;quot;dinamicki_zahtevi_po_stranici 1.5 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Време обраде сервера базе података по страници: &amp;lt;math&amp;gt;vreme\_obrade\_baza\_ms = dinamicki\_zahtevi\_po\_stranici \cdot 1.4 \cdot 5.5ms =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;vreme_obrade_baza_ms&amp;quot; data-expression=&amp;quot;dinamicki_zahtevi_po_stranici 1.4 5.5 * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број &amp;quot;страница&amp;quot; по секунди сервираних од једног језгра веб сервера: &amp;lt;math&amp;gt;sps\_veb\_server = \frac{1000}{vreme\_obrade\_veb\_server\_ms} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_veb_server&amp;quot; data-expression=&amp;quot;1000 vreme_obrade_veb_server_ms /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број &amp;quot;страница&amp;quot; по секунди сервираних од једног језгра апликативног сервера: &amp;lt;math&amp;gt;sps\_aplikativni\_server = \frac{1000}{vreme\_obrade\_aplikativni\_server\_ms} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_aplikativni_server&amp;quot; data-expression=&amp;quot;1000 vreme_obrade_aplikativni_server_ms /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број &amp;quot;страница&amp;quot; по секунди сервираних од једног језгра веб сервера: &amp;lt;math&amp;gt;sps\_baza = \frac{1000}{vreme\_obrade\_baza\_ms} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_baza&amp;quot; data-expression=&amp;quot;1000 vreme_obrade_baza_ms /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних типова сервера очигледно можемо да одредимо на основу реципрочне вредности страница по секунди које могу да сервирају. Прво рачунамо збир тих реципрочних вредности: &amp;lt;math&amp;gt;reciprocni\_zbir\_sps = \frac{1}{sps\_veb\_server} + \frac{1}{sps\_aplikativni\_server} + \frac{1}{sps\_baza} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;reciprocni_zbir_sps&amp;quot; data-expression=&amp;quot;1 sps_veb_server / 1 sps_aplikativni_server / 1 sps_baza / + +&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних веб сервера, заокружен на ближи број: &amp;lt;math&amp;gt;veb\_serveri = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_veb\_server} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;veb_serveri&amp;quot; data-expression=&amp;quot;50 reciprocni_zbir_sps sps_veb_server * / round&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних апликативних сервера, заокружен на ближи број: &amp;lt;math&amp;gt;aplikativni\_serveri = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_aplikativni\_server} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;aplikativni_serveri&amp;quot; data-expression=&amp;quot;50 reciprocni_zbir_sps sps_aplikativni_server * / round&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број потребних сервера база података, заокружен на ближи број: &amp;lt;math&amp;gt;baze = \frac{50}{reciprocni\_zbir\_sps \cdot sps\_baza} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;baze&amp;quot; data-expression=&amp;quot;50 reciprocni_zbir_sps sps_baza * / round&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Сад кад смо распоредили своје сервере на равномеран начин, можемо да израчунамо који тип сервера нам представља уско грло и на основу њега одредимо колико страница по секунди наши сервери имају процесорске моћи да сервирају.&lt;br /&gt;
* Број језгара по процесору: &amp;lt;span data-variable=&amp;quot;jezgra&amp;quot; data-expression=&amp;quot;10&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница по секунди које могу веб сервери да сервирају: &amp;lt;math&amp;gt;sps\_veb\_serveri = veb\_serveri \cdot jezgra \cdot sps\_veb\_server =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_veb_serveri&amp;quot; data-expression=&amp;quot;veb_serveri jezgra sps_veb_server * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница по секунди које могу апликативни сервери да сервирају: &amp;lt;math&amp;gt;sps\_aplikativni\_serveri = aplikativni\_serveri \cdot jezgra \cdot sps\_aplikativni\_server =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_aplikativni_serveri&amp;quot; data-expression=&amp;quot;aplikativni_serveri jezgra sps_aplikativni_server * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Број страница по секунди које могу сервери база података да сервирају: &amp;lt;math&amp;gt;sps\_baze = baze \cdot jezgra \cdot sps\_baza =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;sps_baze&amp;quot; data-expression=&amp;quot;baze jezgra sps_baza * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Можемо да видимо да је минимум ова три броја &amp;lt;span data-variable=&amp;quot;sps_baze&amp;quot; data-expression=&amp;quot;sps_veb_serveri sps_aplikativni_serveri sps_baze min min&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;, и то је број страница по секунди које наши сервери могу да подрже.&lt;br /&gt;
&lt;br /&gt;
==== База ====&lt;br /&gt;
У задатку је такође дат податак о томе колико података сервери базе података шаљу при одговору на захтев. Ово би требало да проверимо за случај да наши сервери базе података шаљу превише података и веза у серверској сали то не може да подржи.&lt;br /&gt;
* Подаци које сервер базе података пошаље по страници: &amp;lt;math&amp;gt;podaci\_baza\_stranica = dinamicki\_zahtevi\_po\_stranici \cdot 1.4 \cdot 6.1KB =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;podaci_baza_stranica&amp;quot; data-expression=&amp;quot;dinamicki_zahtevi_po_stranici 1.4 6.1 * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;KB&lt;br /&gt;
* Подаци које сервер базе података пошаље по секунди: &amp;lt;math&amp;gt;podaci\_baza\_ukupno = podaci\_baza\_stranica \cdot sps\_baza \cdot jezgra =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;podaci_baza_ukupno&amp;quot; data-expression=&amp;quot;podaci_baza_stranica sps_baza jezgra * *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;KB = &amp;lt;span data-variable=&amp;quot;podaci_baza_ukupno&amp;quot; data-expression=&amp;quot;podaci_baza_ukupno 1024 / 1024 / 8 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Gb&lt;br /&gt;
* Пошто је крајњи број мањи од 1Gb, наши сервери базе података имају довољно протока.&lt;br /&gt;
&lt;br /&gt;
==== Решење ====&lt;br /&gt;
У суштини, видимо да нам је уско грло у систему овде фајервол. На основу тога, пошто имамо број страница по секунди колики тај фајервол може да опслужи, можемо да израчунамо колико корисника може да опслужи.&lt;br /&gt;
* Број посећених страница: &amp;lt;span data-variable=&amp;quot;posecene_stranice&amp;quot; data-expression=&amp;quot;8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Дужина сесије: &amp;lt;span data-variable=&amp;quot;duzina_sesije&amp;quot; data-expression=&amp;quot;10 60 *&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;s&lt;br /&gt;
* Број конкурентних корисника: &amp;lt;math&amp;gt;broj\_konkurentnih\_korisnika = \frac{sps\_firewall}{\frac{posecene\_stranice}{duzina\_sesije}} =&amp;lt;/math&amp;gt; &amp;lt;span data-variable=&amp;quot;broj_konkurentnih_korisnika&amp;quot; data-expression=&amp;quot;sps_firewall posecene_stranice duzina_sesije / /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Број конкурентних корисника са сигурносним фактором:&#039;&#039;&#039; &amp;lt;math&amp;gt;\frac{broj\_konkurentnih\_korisnika}{3.5} =&amp;lt;/math&amp;gt; &amp;lt;span data-expression=&amp;quot;broj_konkurentnih_korisnika 3.5 /&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ИЕП]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Etfsibg</name></author>
	</entry>
</feed>