<?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 programowanie - ASCONS</title>
	<atom:link href="https://www.ascons.pl/tag/programowanie/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.ascons.pl/tag/programowanie/</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 programowanie - ASCONS</title>
	<link>https://www.ascons.pl/tag/programowanie/</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>
		<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>
<figure id="attachment_592" aria-describedby="caption-attachment-592" style="width: 225px" class="wp-caption alignnone"><img loading="lazy" 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>
<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>
<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>
<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>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>
<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 lang="pl-PL">A tak będzie to wyglądało w programie:</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>&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>
