<?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 ret - ASCONS</title>
	<atom:link href="https://www.ascons.pl/tag/ret/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ascons.pl/tag/ret/</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 ret - ASCONS</title>
	<link>https://www.ascons.pl/tag/ret/</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>
	</channel>
</rss>
