<?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 skoki - ASCONS</title>
	<atom:link href="https://www.ascons.pl/tag/skoki/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ascons.pl/tag/skoki/</link>
	<description>Praktyczne podejście do przetwórstwa tworzyw sztucznych</description>
	<lastBuildDate>Fri, 06 Jan 2023 20:18:29 +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 skoki - ASCONS</title>
	<link>https://www.ascons.pl/tag/skoki/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Programowanie robotów &#8211; skoki i instrukcje warunkowe IF</title>
		<link>https://www.ascons.pl/programowanie-instrukcje-warunkowe/</link>
					<comments>https://www.ascons.pl/programowanie-instrukcje-warunkowe/#comments</comments>
		
		<dc:creator><![CDATA[Ascons]]></dc:creator>
		<pubDate>Sat, 18 Aug 2018 07:34:07 +0000</pubDate>
				<category><![CDATA[Roboty]]></category>
		<category><![CDATA[call]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[JMP]]></category>
		<category><![CDATA[jump]]></category>
		<category><![CDATA[podprogram]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[roboty]]></category>
		<category><![CDATA[skoki]]></category>
		<category><![CDATA[wittmann]]></category>
		<guid isPermaLink="false">http://nastawiacz.pl/?p=617</guid>

					<description><![CDATA[<p>Podczas programowania robotów napotkamy się na instrukcje warunkowe IF oraz skoki  warunkowe. W tym tekście przedstawię gdzie i jak należy ich używać. Na początek przypomnę wcześniej prezentowany algorytm naszego przyszłego ...</p>
<p>Artykuł <a href="https://www.ascons.pl/programowanie-instrukcje-warunkowe/">Programowanie robotów &#8211; skoki i instrukcje warunkowe IF</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Podczas programowania robotów napotkamy się na instrukcje warunkowe IF oraz skoki  warunkowe. W tym tekście przedstawię gdzie i jak należy ich używać.<span id="more-617"></span></p>
<p>Na początek przypomnę wcześniej prezentowany algorytm naszego przyszłego programu z <a href="https://www.ascons.pl/programowanie_robotow-algorytmy/">wcześniejszego wpisu</a> o algorytmach.</p>
<figure id="attachment_558" aria-describedby="caption-attachment-558" style="width: 794px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" class="wp-image-558 size-full" 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>Aby stworzyć działający program nasze bloki i linie musimy zamienić na zestaw instrukcji zrozumiałych dla robota.</p>
<h6>Instrukcje warunkowe</h6>
<ul>
<li>IF &#8211; jeżeli</li>
<li>ELSE &#8211; inaczej, w przeciwnym razie</li>
<li>ELSEIF &#8211; stosujemy jeżeli warunek posiada więcej niż dwa rozwiązania (odpowiednik CASE)</li>
<li>ENDIF &#8211; koniec instrukcji warunkowej</li>
</ul>
<p><img decoding="async" class="alignnone wp-image-620 size-full" src="https://ascons.pl/wp-content/uploads/2018/08/alg_if.jpg" alt="" width="732" height="381" /></p>
<p>Instrukcja warunkowa IF to nic innego jak pytanie jeżeli. W naszym przypadku pytamy o to czy detal jest wybrakowany czy dobry. Informacje tą otrzymujemy ze złącza euromap 67 <a href="https://www.ascons.pl/programowanie-robotow-zlacze-euromap-67/">opisywanego wcześniej</a>. Należy zwrócić uwagę że wtryskarka na styku ZA5 za pomocą sygnału wysokiego informuje nas o detalu wybrakowanym, nas interesuje detal dobry, czyli sytuacja w której na styku nie ma sygnału .  Nasze pytanie brzmi zatem: czy detal  nie jest wybrakowany? W programie zapiszemy to jako: IF DETAL WYBRAKOWANY=0</p>
<p>W przypadku spełnienia warunku  zostaną wykonane instrukcje znajdujące się pod zapytaniem IF</p>
<p>Jeżeli warunek nie został spełniony  program przechodzi do instrukcji umieszczonych pod poleceniem ELSE.</p>
<p>Wprowadzenie do programu instrukcji warunkowych zawsze powoduje jego rozgałęzienie tak jak to widać na powyższym algorytmie. Aby zakończyć instrukcje warunkową IF i połączyć rozgałęzienie musimy użyć polecenia ENDIF.</p>
<pre>IF DETAL WYBRAKOWANY=0
* tutaj wprowadzamy instrukcje 
* odpowiedzialne za odłożenie 
* dobrego detalu
* i uruchomienie taśmociągu
ELSE 
* tutaj wprowadzamy instrukcje
* odpowiedzialne za odłożenie
* złego detalu
ENDIF</pre>
<p>Jeśli zachodzi sytuacja w której program ma nic nie robić jeżeli warunek jest nie spełniony wtedy za poleceniem ELSE nie ma żadnych instrukcji. Na schemacie blokowym była by strzałka bezpośrednio do polecenia ENDIF.    W takim przypadku  stosujemy zapis bez polecenia ELSE. Poniżej przykład zastosowania dla programu paletyzacji.</p>
<pre>IF PALETA PELNA=1
* przewiń taśmociąg
* zresetuj licznik paletowania 
ENDIF</pre>
<h6>Skoki</h6>
<p>Skoki służą do przemieszczania się wewnątrz programu, najczęściej stosuje się je do zapętlenia programu i stworzenia w ten sposób pętli głównej która powtarzana jest co cykl maszyny. Aby można użyć polecenia JMP wcześniej trzeba zdefiniować miejsce w programie do jakiego chcemy się przenieść, miejsce to nazwane jest etykietą. Etykiete umieszczamy w programie nad linią do której chcemy się przemieścić i nadajemy jej nazwę sugerującą funkcje jaką dany skok pełni. I tak dla skoku zapętlającego program sugeruję etykietę CYKL: lub START:</p>
<ul>
<li><img decoding="async" class="alignnone wp-image-623 size-full" src="https://ascons.pl/wp-content/uploads/2018/08/skok_-do_START.jpg" alt="" width="251" height="479" />ETYKIETA &#8211; znacznik miejsca w programie</li>
<li>JMP &#8211; skok do etykiety</li>
<li>JMP z warunkiem -skok warunkowy</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: left;">Jak widać stosowanie instrukcji warunkowych oraz skoków jest niezbędne do stworzenia programu który będzie elastyczny i zoptymalizowany pod kątem potrzeb produkcyjnych oraz przyjazny dla  osoby obsługującej robota. Z łatwością możemy dodać takie funkcje jak odkładnie detalu do kontroli jakości, wprowadzanie cykli rozruchowych czy też ręcznego sortowania detali.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Artykuł <a href="https://www.ascons.pl/programowanie-instrukcje-warunkowe/">Programowanie robotów &#8211; skoki i instrukcje warunkowe IF</a> pochodzi z serwisu <a href="https://www.ascons.pl">ASCONS</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.ascons.pl/programowanie-instrukcje-warunkowe/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
