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

<channel>
	<title>Archiwa robot - ASCONS</title>
	<atom:link href="https://www.ascons.pl/tag/robot/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ascons.pl/tag/robot/</link>
	<description>Praktyczne podejście do przetwórstwa tworzyw sztucznych</description>
	<lastBuildDate>Fri, 06 Jan 2023 20:21:56 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.ascons.pl/wp-content/uploads/2021/11/cropped-ASCONS-300DPI-bez-tla-1-e1636903758380-32x32.png</url>
	<title>Archiwa robot - ASCONS</title>
	<link>https://www.ascons.pl/tag/robot/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Podprogramy Wittmann</title>
		<link>https://www.ascons.pl/podprogramy-wittmann/</link>
					<comments>https://www.ascons.pl/podprogramy-wittmann/#comments</comments>
		
		<dc:creator><![CDATA[Ascons]]></dc:creator>
		<pubDate>Tue, 16 Feb 2021 13:15:26 +0000</pubDate>
				<category><![CDATA[Roboty]]></category>
		<category><![CDATA[ascons]]></category>
		<category><![CDATA[battenfeld]]></category>
		<category><![CDATA[call]]></category>
		<category><![CDATA[consulting]]></category>
		<category><![CDATA[doradztwo technologiczne]]></category>
		<category><![CDATA[formy wtryskowe]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[injection molding]]></category>
		<category><![CDATA[injection moulding]]></category>
		<category><![CDATA[jump]]></category>
		<category><![CDATA[podprogram]]></category>
		<category><![CDATA[programowanie robota]]></category>
		<category><![CDATA[programowanie wittmann]]></category>
		<category><![CDATA[ret]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[subr]]></category>
		<category><![CDATA[subroutine]]></category>
		<category><![CDATA[szkolenia ustawiaczy]]></category>
		<category><![CDATA[szkolenia z wtrysku]]></category>
		<category><![CDATA[tworzywa sztuczne]]></category>
		<category><![CDATA[ustawiacz]]></category>
		<category><![CDATA[wittmann]]></category>
		<category><![CDATA[wsparcie technologiczne]]></category>
		<category><![CDATA[wtryskiwanie]]></category>
		<category><![CDATA[wtryskiwanie tworzyw]]></category>
		<guid isPermaLink="false">http://nastawiacz.pl/?p=909</guid>

					<description><![CDATA[<p>Jeżeli jeszcze nie wiesz co to są podprogramy w robotach Wittmann to ten wpis wszystko Ci wyjaśni. A jeżeli już z nich korzystasz to również zachęcam do lektury, być może ...</p>
<p>Artykuł <a href="https://www.ascons.pl/podprogramy-wittmann/">Podprogramy Wittmann</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Jeżeli jeszcze nie wiesz co to są podprogramy w robotach Wittmann to ten wpis wszystko Ci wyjaśni. A jeżeli już z nich korzystasz to również zachęcam do lektury, być może dowiesz się czegoś więcej, czegoś co pozwoli Ci jeszcze przejrzyściej programować <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Zanim jednak omówimy sobie jak wykorzystać podprogramy pisząc program przebiegu dla robota <a href="https://www.wittmann-group.com/pl">Wittmann</a> powiem kilka słów na temat programowania strukturalnego.</p>
<p>Dawno temu kiedy powstawały pierwsze programy nikt nie zwracał uwagi na jego czytelność. Dlaczego? Bo programy były bardzo krótkie, mieściły się na jednej kartce A4. Pisano je wtedy przy wykorzystaniu tzw. &#8222;spaghetti code&#8221;. Aktualnie wraz z rozwojem programowania, kod jest coraz dłuższy, a jego interpretacja coraz trudniejsza. Programowanie strukturalne to była pierwsza próba nadania struktury programom, tak, żeby stały się one czytelne m.in. dzięki zastosowaniu podziału na funkcje, bloki i podprogramy.</p>
<h2>Czy warto stosować komentarze w programowaniu?</h2>



<p>Wykorzystując podprogramy podczas pisania kodu dla robotów Wittmann czynisz program czytelnym i w przyszłości będziesz go mógł łatwiej rozbudować. Jest jeszcze jedna istotna rzecz, o której musisz pamiętać &#8211; komentarze. Tak, są one bardzo istotne w każdym programie przebiegu. Dzięki nim jeszcze lepiej jest zrozumieć sposób działania danego programu. Możesz je pisać jako oddzielne wiersze w swoim programie lub możesz zastosować programowanie samo komentujące się <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Co to oznacza? Już wyjaśniam. Programowanie samo komentujące się to nic innego jak logiczne i łatwe w interpretacji nadawanie nazw wierszom, blokom, podprogramom lub zmiennym, które od razu będą opisywać funkcję jaką pełnią. Tyle i aż tyle <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Może przytoczę przykład, żebyśmy wiedzieli co mam na myśli. Załóżmy, że w naszym programie używamy zmiennej do oznaczenia sztuki wadliwej. Jeżeli użyjesz zmiennej podczas programowania to będzie ona miała domyślną nazwę:</p>
<ul>
<li>&#8222;variable 001&#8221;</li>
</ul>
<p>Już pewnie się domyślasz, że po napotkaniu takiej zmiennej w programie nie będzie łatwo zrozumieć za co ona odpowiada. A teraz nadajmy tej samej zmiennej nazwę:</p>
<ul>
<li>&#8222;część wadliwa&#8221;</li>
</ul>
<p>Jeżeli spotkasz tak nazwaną zmienną w programie to jej interpretacja będzie zdecydowanie łatwiejsza. I wcale nie użyliśmy tu dodatkowego komentarza w programie.</p>
<p>Jak widzisz jest to ważny czynnik, który nada Twojemu programowi lekkości i czytelności i na tym nam powinno zależeć.</p>
<h2>Podprogramy Wittmann CALL &#8211; SUBR &#8211; RET</h2>
<p>Program przebiegu w robotach austriackiego producenta wykonywany jest zasadniczo wiersz po wierszu począwszy od wiersza 0001, z zachowaniem rosnącej kolejności. Jeżeli jednak chcesz reagować na różne zdarzenia podczas pracy jesteś zmuszony do zmiany tej kolejności.</p>
<p>Przy pomocy poleceń <strong><em>Call &#8211; Subr &#8211; Ret</em></strong>, które masz dostępne w menu, możesz utworzyć strukturę programu przebiegu opartą na podprogramach i wywoływać te podprogramy warunkowo lub bezwarunkowo.</p>
<p>

</p>
<p>Wywoływania podprogramów pozwalają rozgałęzić program na szereg różnych instrukcji. Jeżeli robot wykona dany podprogram, wraca ponownie do wiersza, który znajduje się po powyższym wywołaniu. Dzięki temu masz możliwość wielokrotnego wywoływania danej instrukcji, która może być zaprogramowana tylko jeden raz. To stanowi duże uproszczenie i pozwala łatwiej czytać program.</p>
<p>Podczas programowania programu przebiegu mamy dostępne trzy podstawowe polecenia:</p>
<p>

</p>
<ol class="wp-block-list">
<li>Polecenie <strong>CALL</strong> &#8211; za pomocą polecenia &#8222;CALL nazwa&#8221; wywołujesz podprogram &#8222;nazwa&#8221;. Robot po powyższym poleceniu rozpoczyna wykonywanie poleceń w podprogramie.</li>
<li>Polecenie <strong>SUBR </strong>(SUBROUTINE) &#8211; przez polecenie &#8222;SUBR nazwa&#8221; definiujesz początek podprogramu.</li>
<li>Polecenie <strong>RETURN </strong>&#8211; jeżeli chcesz zakończyć podprogram to musisz skorzystać z komendy RET, która przenosi Cię ponownie do programu głównego do wiersza znajdującego się po poleceniu CALL.</li>
</ol>
<p>Teraz zwróć uwagę na &#8222;Rysunek 1&#8221;. Tu właśnie widzisz przykład programowania strukturalnego.</p>



<div class="wp-block-image">
<figure class="aligncenter size-medium"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-914 size-full" title="programowanie strukturalne WIttmann" src="https://www.ascons.pl/wp-content/uploads/2020/08/Obraz1-1.png" alt="programowanie strukturalne wittmann robot" width="180" height="508" srcset="https://www.ascons.pl/wp-content/uploads/2020/08/Obraz1-1.png 180w, https://www.ascons.pl/wp-content/uploads/2020/08/Obraz1-1-106x300.png 106w" sizes="(max-width: 180px) 100vw, 180px" />
<figcaption><br />Rysunek 1: Przykład programu strukturalnego dla robotów firmy Wittmann.</figcaption>
</figure>
</div>



<p>Cała logika naszego programu zawiera się w pierwszych pięciu wierszach.</p>
<ul>
<li>CALL INIT to podprogram, który będzie wykonany raz, podczas uruchomienia robota.</li>
<li>START: to tzw. etykieta do której będziemy zawsze wracać po zakończeniu programu.</li>
<li>CALL REMOVAL to podprogram, który będzie odpowiadał za pobranie wypraski z formy wtryskowej.</li>
<li>CALL PLACE to instrukcje odłożenia wypraski na taśmociąg.</li>
<li>JMP START powoduje skok do etykiety START, którą wyżej opisałem.</li>
</ul>



<h3 class="wp-block-heading">Podprogramy &#8211; wytyczne</h3>



<p>Teraz przedstawię ci kilka wytycznych, których powinieneś przestrzegać podczas pisania programu aby zagwarantować możliwość ich realizowania:</p>



<ul class="wp-block-list">
<li>Podprogramy muszą być zakończone poleceniem <strong>RET</strong>.</li>
<li>Nie opuszczaj podprogramu przy wykorzystaniu polecenia <strong>JUMP</strong>, (jeżeli &#8222;wyskakiwanie&#8221; z podprogramu będzie występowało okazyjnie to nie będzie problemu, ale jeżeli w każdym przebiegu będzie następowało takie wyjście to możesz spodziewać się cyklicznego błędu o zbyt częstej liczbie opuszczenia podprogramu przy pomocy funkcji JUMP).</li>
<li>Podprogram standardowy (Routine) nigdy nie może być wykonywany bez wywołania poleceniem <strong>CALL</strong>.</li>
</ul>





<p>Poniżej możesz zapoznać się z przykładowym programem który napisałem dla formy typu tandem. Programowanie strukturalne pomaga mi przy późniejszej korekcie programu oraz zmniejsza jego wielkość ułatwiając analizę i zrozumienie.</p>



<div class="wp-block-image">
<figure class="aligncenter size-medium">
<figure id="attachment_913" aria-describedby="caption-attachment-913" style="width: 532px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-913 size-full" title="programowanie strukturalne Wittmann" src="https://www.ascons.pl/wp-content/uploads/2020/08/Obraz2-1.png" alt="programowanie strukturalne wittmann robot" width="532" height="570" srcset="https://www.ascons.pl/wp-content/uploads/2020/08/Obraz2-1.png 532w, https://www.ascons.pl/wp-content/uploads/2020/08/Obraz2-1-280x300.png 280w" sizes="(max-width: 532px) 100vw, 532px" /><figcaption id="caption-attachment-913" class="wp-caption-text">Drzewo programu robota Wittmann</figcaption></figure>
<figcaption>Rysunek 2: Program przebiegu robota na wtryskarce dla formy typu tandem.</figcaption>
</figure>
</div>



<p>Zdecydowanie zachęcam Cię do pisania programów przebiegu dla robotów w przedstawiony przeze mnie sposób. W przeciwieństwie do &#8222;spaghetti code&#8221; możemy wielokrotnie wracać do danego podprogramu.</p>
<p>Przy kolejnych formach czy też nowych projektach będzie Ci łatwiej wykorzystać pewne bloki co istotnie przyspieszy uruchomienie produkcji.</p>
<p>Zachęcam Cię także do zapoznania się z wpisami na temat <a href="https://ascons.pl/programowanie-instrukcje-warunkowe/">skoków i instrukcji warunkowych</a> oraz <a href="https://ascons.pl/programowanie-robotow-zlacze-euromap-67/">EUROMAP 67</a>, gdzie uzyskasz dodatkowe informacje w tematyce programowania robotów.</p>
<p>A jeżeli chcesz przeszkolić siebie, swoich pracowników lub współpracowników to zapoznaj się z moją ofertą dotyczącą <a href="https://ascons.pl/programowanie-robotow-wittmann/">programowania robotów Wittmann</a>. Podczas takiego kursu nauczysz się wykorzystywać podprogramy i dużo więcej <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>
<p>Na zakończenie chciałbym raz jeszcze przypomnieć jak ważne jest wykorzystanie podprogramów w kodzie. Formy wtryskowe, które uruchamiasz na wtryskarce są coraz bardziej złożone. Niewątpliwe wymusza to na Tobie pisanie jeszcze bardziej złożonych programów odbioru.</p>


<p>Artykuł <a href="https://www.ascons.pl/podprogramy-wittmann/">Podprogramy Wittmann</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ascons.pl/podprogramy-wittmann/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Programowanie robotów &#8211; złącze EUROMAP 67</title>
		<link>https://www.ascons.pl/programowanie-robotow-zlacze-euromap-67/</link>
					<comments>https://www.ascons.pl/programowanie-robotow-zlacze-euromap-67/#comments</comments>
		
		<dc:creator><![CDATA[Ascons]]></dc:creator>
		<pubDate>Wed, 13 Jun 2018 19:13:34 +0000</pubDate>
				<category><![CDATA[Roboty]]></category>
		<category><![CDATA[euromap 67]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[sepro]]></category>
		<category><![CDATA[wittmann]]></category>
		<guid isPermaLink="false">http://nastawiacz.pl/?p=589</guid>

					<description><![CDATA[<p>Podczas programowania robotów przeznaczonych do współpracy z maszynami wtryskowymi, niezbędna jest znajomość interfejsu EUROMAP 67. Stworzony został przez organizację EUROMAP i stanowi on standard do przesyłania informacji pomiędzy wtryskarką a ...</p>
<p>Artykuł <a href="https://www.ascons.pl/programowanie-robotow-zlacze-euromap-67/">Programowanie robotów &#8211; złącze EUROMAP 67</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Podczas programowania robotów przeznaczonych do współpracy z maszynami wtryskowymi, niezbędna jest znajomość interfejsu EUROMAP 67. Stworzony został przez organizację EUROMAP i stanowi on standard do przesyłania informacji pomiędzy wtryskarką a robotem. Dzięki temu robot ma możliwość bezpiecznej i skutecznej współpracy z wtryskarką poprzez kontrolowanie jej ruchów.<span id="more-589"></span></p>
<p><figure id="attachment_592" aria-describedby="caption-attachment-592" style="width: 225px" class="wp-caption alignnone"><img decoding="async" class="wp-image-592 size-medium" src="https://ascons.pl/wp-content/uploads/2018/06/IMG_20180608_150440-1-225x300.jpg" alt="Złąze euromap na wtryskarce" width="225" height="300" /><figcaption id="caption-attachment-592" class="wp-caption-text">Zdj. 1</figcaption></figure></p>
<p><figure id="attachment_596" aria-describedby="caption-attachment-596" style="width: 300px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-596 size-medium" src="https://ascons.pl/wp-content/uploads/2018/06/IMG_20180608_150523-1-1-300x225.jpg" alt="euromap 67 imm robot" width="300" height="225" /><figcaption id="caption-attachment-596" class="wp-caption-text">Zdj. 2</figcaption></figure></p>
<h5>Sygnały   EUROMAP 67</h5>
<ul>
<li>obwód bezpieczeństwa, wyłącznik awaryjny(dwa kanały)</li>
<li>obwód bezpieczeństwa, drzwi ochronne (dwa kanały)</li>
<li>pozycje: zamek, wyrzutnik, rdzenie</li>
<li>zezwolenia: zamek wyrzutnik, rdzenie</li>
<li>inne: wolny obszar formy, detal wybrakowany, sutomat, praca z robotem</li>
</ul>
<p>Pełną specyfikację standardu można znaleźć <a href="http://euromap.org">tuaj</a>.</p>
<p>W tabeli 1. przedstawiono opis funkcji poszczególnych pinów złącza.</p>
<p><figure id="attachment_597" aria-describedby="caption-attachment-597" style="width: 560px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-597 size-full" src="https://ascons.pl/wp-content/uploads/2018/06/E67_opis.jpg" alt="opis styków złącza euromap 67" width="560" height="512" /><figcaption id="caption-attachment-597" class="wp-caption-text">Tab. 1</figcaption></figure></p>
<p>Poniższe zdjęcia przedstawiają podgląd sygnałów ze złącza na wtryskarce BATTENFELD i robocie WITTMANN.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-603 size-full" src="https://ascons.pl/wp-content/uploads/2018/06/Manipulator.jpg" alt="" width="855" height="522" /></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-602 size-full" src="https://ascons.pl/wp-content/uploads/2018/06/Manipulator1.jpg" alt="" width="644" height="554" /></p>
<p>Na szczególną uwagę zasługują piny: A3-C3 oznaczone jako<strong> wolny obszar formy</strong>. Jest to sygnał wystawiany przez robota informujący wtryskarkę o tym, że ramie robota znajduje się poza obszarem pracy narzędzia. Sygnał ten uzależniony jest od pozycji listew  na osiach robota lub (dla robotów z enkoderami absolutnymi) zaprogramowanych uprzednio pozycji. Ważne jest, aby sprawdzić jego prawdłowe działanie przed rozpoczęciem programowania. Można to zrobić wjeżdzając ramieniem robota w obszar pracy formy, a następnie na stronie diagnostycznej przyłącza robota we wtryskarce sprawdzić  obecność sygnału wolny obszar formy. W przypadku wtryskarek, w których brak strony diagnostycznej przyłącza euromap, działanie sygnału można sprawdzić próbując bardzo powoli zamknąć formę w trybie ustawczym. W takim przypadku należy zachować szczególną ostrożność  i robić to bez zamontowanego narzędzia na wtryskarce tak, aby w przypadku nie zadziałania zabezpieczenia nie doszło do kolizji robota z formą. Jeśli zabezpieczenie działa prawidłowo, stół maszyny nie poruszy się. Sprawdzenia sygnału wolny obszar formy należy dokonywać przy każdym nowym lub nieznanym robocie, jak i również po każdej relokacji robota. Oczywiście należy również sprawdzić działanie wyłączników awaryjnych wtryskarki  i robota jak i potwierdzenie otwarcia drzwi ochronnych wtryskarki.</p>
<p>&nbsp;</p>
<h5>Polecenia programowe robota dla komunikacji z wtryskarką</h5>
<ul>
<li>Robot &#8211;&gt; wtryskarka
<ul>
<li><strong>zezwolenie</strong> włącz/wyłącz</li>
<li><strong>funkcje</strong>  automatycznie realizowana sekwencja poleceń odpowiedzialnych  za dany ruch, np. sekwencja ruchu wyrzutnika w przód.</li>
</ul>
</li>
<li>Wtryskarka &#8211;&gt; robot
<ul>
<li><strong>wait  </strong>oczekiwanie na sygnał potwierdzający pozycje dla danej osi wtryskarki, do czasu jego pojawienia się program nie przejdzie do następnej lini</li>
<li><strong>if</strong>   funkcja warunkowa uzależniająca wykonanie programu od obecności sygnału</li>
</ul>
</li>
</ul>
<p>A tak wygląda to w programie robota:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-605 size-full" src="https://ascons.pl/wp-content/uploads/2018/06/program.jpg" alt="" width="458" height="291" /></p>
<p>Obecnie coraz więcej producentów wprowadza do swojej oferty integracje robotów z maszyną wtryskową. Z punktu widzenia programowania robotów nie ma to żadnego wpływu na pracę robota czy też sposób jego programowania. Różnice pojawiają się w warstwie sprzętowej gdzie standardowe złącze jest emulowane przez program i przesyłane za pomocą sygnału sieciowego, co istotne sygnały odpowiedzialne za bezpieczeństwo takie jak: wyłączenie awaryjne, drzwi ochronne i wolny obszar formy nadal pozostają podłączone w tradycyjny sposób.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Artykuł <a href="https://www.ascons.pl/programowanie-robotow-zlacze-euromap-67/">Programowanie robotów &#8211; złącze EUROMAP 67</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ascons.pl/programowanie-robotow-zlacze-euromap-67/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Programowanie robotów &#8211; algorytmy</title>
		<link>https://www.ascons.pl/programowanie_robotow-algorytmy/</link>
					<comments>https://www.ascons.pl/programowanie_robotow-algorytmy/#comments</comments>
		
		<dc:creator><![CDATA[Ascons]]></dc:creator>
		<pubDate>Wed, 09 May 2018 16:27:50 +0000</pubDate>
				<category><![CDATA[Roboty]]></category>
		<category><![CDATA[algorytm]]></category>
		<category><![CDATA[engel]]></category>
		<category><![CDATA[krauss maffei]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[programowanie robota]]></category>
		<category><![CDATA[przebieg]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[schemat blokowy]]></category>
		<category><![CDATA[sepro]]></category>
		<category><![CDATA[wittmann]]></category>
		<guid isPermaLink="false">http://nastawiacz.pl/?p=547</guid>

					<description><![CDATA[<p>żródło: internet Rozpoczynając programowanie robotów warto poświęcić chwilę algorytmom. Ułatwi nam to napisanie czytelnego i efektywnego programu, zapobiegnie powstaniu wielu błędów oraz zaoszczędzi  czas spędzony na analizie popełnionych błędów. Czym ...</p>
<p>Artykuł <a href="https://www.ascons.pl/programowanie_robotow-algorytmy/">Programowanie robotów &#8211; algorytmy</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-569 aligncenter" src="https://ascons.pl/wp-content/uploads/2018/05/P68875.jpg" alt="" width="550" height="214" /></p>
<p>żródło: internet</p>
<p lang="pl-PL">Rozpoczynając programowanie robotów warto poświęcić chwilę algorytmom. Ułatwi nam to napisanie czytelnego i efektywnego programu, zapobiegnie powstaniu wielu błędów oraz zaoszczędzi  czas spędzony na analizie popełnionych błędów.<span id="more-547"></span></p>
<p lang="pl-PL"><strong>Czym jest algorytm?</strong> z definicji jest to uporządkowany sposób działania dążący do określonego celu przy użyciu skończonej ilości kroków. W praktyce oznacza, że każdą wykonywaną przez nas czynność możemy zapisać jako ciąg działań i pytań oraz decyzji. I tak dla przykładu poniżej znajduje się prosty algorytm codziennej czynności wykonywanej przez nas takiej jak parzenie herbaty.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-552" src="https://ascons.pl/wp-content/uploads/2018/05/algorytm_1-1.jpg" alt="" width="794" height="1123" /></p>
<p lang="pl-PL">Alg. 1</p>
<p lang="pl-PL">Oczywiście zaprezentowany przykład jest  prosty i nie uwzględnia wszystkich możliwych sytuacji i warunków z jakimi możemy się spotkać podczas tego procesu np. czy mamy czyste szklanki, herbatę i tym podobne, daje nam jednak pogląd na to że nawet rzeczy oczywiste podlegają pewnym regułom i da się je opisać tak aby tą czynność zautomatyzować.</p>
<p lang="pl-PL">Aby algorytm był czytelny najczęściej stosuje się jego graficzną reprezentację za pomocą bloków i znajdujących się w nich opisach. Dla odróżnienia funkcji jaką pełni dany blok używa się różnych kształtów. I tak mamy:</p>
<ul>
<li>
<p lang="pl-PL"><strong>Bloki funkcyjne</strong>                                                           W tym miejscu umieszczamy instrukcje służące do wykonywania</p>
<p lang="pl-PL">zadań. W naszym przykładzie będzie: to otwórz szafkę, weź szklankę postaw na stole, weź łyżeczkę itd&#8230; W przypadku robota w takim bloku umieścimy: ruchy osi, zmiana prędkości ruchu, sygnały EUROMAP itd.<img loading="lazy" decoding="async" class="alignnone size-full wp-image-553" src="https://ascons.pl/wp-content/uploads/2018/05/blok_funkcyjny.jpg" alt="" width="189" height="113" /></p>
</li>
</ul>
<ul>
<li>
<p lang="pl-PL"><strong>Bloki warunkowe (decyzyjne, pytania)</strong></p>
<p lang="pl-PL">Znajdują się tutaj instrukcje warunkowe których używamy jako pytania i udzielamy na nie odpowiedzi w zależności od których wykonujemy odpowiednie bloki funkcyjne. W naszym przykładzie są to pytania o ilość wody i czy się zagotowała.W programie robota będą to wszystkie instrukcje warunkowe takie jak: IF, ELSE, ELSEIF</p>
<p lang="pl-PL"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-555" src="https://ascons.pl/wp-content/uploads/2018/05/blok_warunkowy-1.jpg" alt="" width="189" height="113" /></p>
<ul>
<li>
<p lang="pl-PL"><strong>B</strong><strong>loki </strong><strong>wprowadzania</strong> i prezentacji danych.<br />
Służą one do pobierania danych z interfejsu graficznego lub prezentacji danych poza programem. W takim bloku możemy umieścić również instrukcje służące do odczytu wejść peryferyjnych sterujących pracą robota, lub wyjścia służące do prezentacji stanu pracy robota.<br />
<img loading="lazy" decoding="async" class="alignnone size-full wp-image-556" src="https://ascons.pl/wp-content/uploads/2018/05/blok_wprowadzania.jpg" alt="" width="189" height="95" /></p>
</li>
</ul>
<p>&nbsp;</li>
</ul>
<p lang="pl-PL" style="text-align: left;"><strong>Wracając do algorytmu pracy robota.</strong><br />
Poniżej przedstawiony jest prosty algorytm dla programu typu „pick and place”. Widzimy bloki odpowiedzialne za pojedyncze czynności takie jak odbiór detalu czy odłożenie go na taśmociąg. Mamy też dwa bloki warunkowe które służą do rozdzielania linii programu w zależności od tego czy warunek jest spełniony czy też nie.</p>
<p>&nbsp;</p>
<p><figure id="attachment_558" aria-describedby="caption-attachment-558" style="width: 794px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-558" src="https://ascons.pl/wp-content/uploads/2018/05/algorytm_2-1-1.jpg" alt="" width="794" height="1123" /><figcaption id="caption-attachment-558" class="wp-caption-text">Alg. 2</figcaption></figure></p>
<p lang="pl-PL">A tak będzie to wyglądało w programie:</p>
<p><figure id="attachment_567" aria-describedby="caption-attachment-567" style="width: 418px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-567" src="https://ascons.pl/wp-content/uploads/2018/05/program_algorytm.jpg" alt="" width="418" height="306" /><figcaption id="caption-attachment-567" class="wp-caption-text">Prog. 1</figcaption></figure></p>
<p>&nbsp;</p>
<p lang="pl-PL">Łatwo przekonać się, że zastosowanie graficznej formy działania naszego programu daje nieocenione korzyści w postaci przejrzystości struktury programu, ułatwia zrozumienie zasady działania, a jak się wkrótce okaże ułatwi nam również pracę podczas samego pisania programu.</p>
<p>Artykuł <a href="https://www.ascons.pl/programowanie_robotow-algorytmy/">Programowanie robotów &#8211; algorytmy</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ascons.pl/programowanie_robotow-algorytmy/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
