<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Automatação e Descontrole</title>
	<atom:link href="http://marcioroberto.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcioroberto.wordpress.com</link>
	<description>Linguagens de programação e tecnologia de sistemas da informação no ambiente de automação industrial</description>
	<lastBuildDate>Wed, 16 Feb 2011 19:37:21 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='marcioroberto.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Automatação e Descontrole</title>
		<link>http://marcioroberto.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://marcioroberto.wordpress.com/osd.xml" title="Automatação e Descontrole" />
	<atom:link rel='hub' href='http://marcioroberto.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Comunicação via Padrão Ethernet. Será mesmo um padrão?</title>
		<link>http://marcioroberto.wordpress.com/2008/07/13/comunicacao-via-padrao-ethernet-sera-mesmo-um-padrao/</link>
		<comments>http://marcioroberto.wordpress.com/2008/07/13/comunicacao-via-padrao-ethernet-sera-mesmo-um-padrao/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 14:39:11 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Diversão]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/?p=60</guid>
		<description><![CDATA[Pessoal, No post do ControlBlog, o Bruno Villas discursa sobre as inovações e o uso da rede ethernet em processo industriais. Muito bom o post, recomendo a leitura. Não perdendo a oportunidade, eu lancei um comentário (simples) neste post sobre o uso do Profinet e do IEC 61850 (transcrevo o comentário abaixo), porém demostro uma [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=60&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>No <a href="http://automationcontrolblog.blogspot.com/2008/07/em-tecnologia-nada-definitivo.html" target="_blank">post</a> do ControlBlog, o Bruno Villas discursa sobre as inovações e o uso da rede ethernet em processo industriais. Muito bom o post, recomendo a leitura.</p>
<p>Não perdendo a oportunidade, eu lancei um comentário (simples) neste post sobre o uso do Profinet e do IEC 61850 (transcrevo o comentário abaixo), porém demostro uma preocupacação que tenho sobre esses novos protocolos e as modificações de acesso a rede que os mesmos impõem. Tais modificações impõem que sejam utilizados equipamentos (leia-se switchs) que suportem as novas funcionalidades.</p>
<p>E o que acontece com o velho e bom switch (gereciado ou não)? E o que dizer ta sua placa NE2000 padrão (forcei a barra)? Será que todos estes equipamentos, ou mesmo o seu controlador ou dispositivo vão operar sem problemas nestas novas redes? O tempo dirá.</p>
<p>Segue o comentário:</p>
<p>&#8220;O grande problema do determinismo na rede Ethernet é o CSMA/CD, que utilizando modelos matemáticos obtem-se que uma messagem não seja enviada nunca. Mas veja bem, através de modelos matemáticos, aqueles que bem caóticos.</p>
<p>Os novos protocolos alteram o modo de acesso à rede, de forma a eliminar os gargalos ou colisões que o CSMA/CD pode promover.</p>
<p>Os protocolos PROFINET e o IEC6180 já estão se valendo disso. A idéia do PROFINET é trabalhar na casa dos micros segundos. Já o 61850 trabalha na casa de 1ms à 4ms.</p>
<p>Eu, sinceramente acho que o IEC61850 já é uma realidade, sendo que já existem diversas subestações de energia no Brasil e mundo afora onde os trips/bloqueios são executados via rede ethernet. Nada de cabos convencionais.</p>
<p>O IEC 61850 envia as informacões em broadcast via UDP/IP, criando mensagens GOOSE (Generic Object Oriented Substation Event) que são telegramas especiais para troca de dados urgentes. No caso, os switch´s da rede tem que suportar estes telegramas, pois o enfileiramento de mensagens é realizado pelo switch.</p>
<p>Logo, a rede ethernet deixou de ser &#8220;padrão&#8221;, e dessa forma é necessário que os switch´s suportem essas novas características.</p>
<p>Será que a Ethernet será tão interoperável como foi no passado, e principalmente, como o usuário final gostaria.</p>
<p>Eu acho que não, mas não dá pra ficar de fora. Estou projetando um sistema em IEC 61850, depois de comissionar este sistema terei uma opinião mais formada.&#8221;</p>
<p>Abraços,</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/60/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/60/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=60&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2008/07/13/comunicacao-via-padrao-ethernet-sera-mesmo-um-padrao/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>WinCC 7.0 &#8211; Não sabe brincar, não brinca.</title>
		<link>http://marcioroberto.wordpress.com/2008/07/13/wincc-70-nao-sabe-brincar-nao-brinca/</link>
		<comments>http://marcioroberto.wordpress.com/2008/07/13/wincc-70-nao-sabe-brincar-nao-brinca/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 14:23:19 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[Diversão]]></category>
		<category><![CDATA[SCADA]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[WinCC]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/?p=59</guid>
		<description><![CDATA[Pessoal, Sinceramente, cada vez que eu começo a falar de WinCC com as pessoas eu acho que elas pensam que estou exagerando ou ficando cego pelo produto. Não! &#8211; Eu respondo. Não estou ficando cego, simplesmente estou sendo ouvido. Eu e milhares de desenvolvedores que sempre querem mais do WinCC. Sendo que a Siemens nos ouve [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=59&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Sinceramente, cada vez que eu começo a falar de WinCC com as pessoas eu acho que elas pensam que estou exagerando ou ficando cego pelo produto.</p>
<p>Não! &#8211; Eu respondo. Não estou ficando cego, simplesmente estou sendo ouvido. Eu e milhares de desenvolvedores que sempre querem mais do WinCC. Sendo que a Siemens nos ouve ou se antecipa em relação as nossas necessidades.</p>
<p>Eu podia discursar durante páginas e páginas, porém acho que o product announcement do WinCC 7.0 diz por mil palavras. Vejam<br />
<a href="http://www.automation.siemens.com/hmi/html_76/microsites/wincc-v7-overview.htm" target="_blank">http://www.automation.siemens.com/hmi/html_76/microsites/wincc-v7-overview.htm</a></p>
<p>Eu não posso deixar de frisar duas coisas:<br />
<span style="color:#333333;"><strong>Object-oriented Engineering:</strong><br />
Se for tão integrado ao Structure Tag quanto eu imagino, e principalmente, se foi melhorado a forma de criar e modificar os structure tags eu acho que outros produtos da Siemens vão ficar com inveja (te cuida PCS 7).<br />
Esse conceito no WinCC Flexible é muito bom, então eu acredito que foi melhorado assim como foi feito no Flexible.</span></p>
<p><span style="color:#333333;"><strong>New WinCC Controls:<br />
</strong>Eu quero ver se o WinCC 7.0 será um full .NET containner. Se for, meu amigo, tem mais um produto que vai ficar para trás dentro da Siemens. Será o bye bye do IndustrialX que nunca ganhou a importância que merecia!</span></p>
<p><span style="color:#333333;">Em tempo, só tenho a agradecer a Ana Cristina, gerente de HMI da Siemens pelo brilhante trabalho que vem fazendo dentro da Siemens. Divulgando e remexendo esse mercado de HMI.<br />
</span><span style="color:#333333;">Ana, agora você tem um porsche na mão, só vai precisar saber pilotar. E você sabe, né? Precisou é só gritar. Ainda está valendo a aposta do Plant Intelligence?</span></p>
<p><span style="color:#333333;">Esperem, pois depois de agosto vou ter mais bala na agulha para falar do novo WinCC 7.0, DataMonitor, Connectivity Pack, Downtime Monitor, IndustrialDataBridge, etc, etc, etc, etc (cansei).</span></p>
<p><span style="color:#333333;">Eu só queria saber quem avalanca quem (PCS 7, WinCC e Flexible)!</span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/59/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/59/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=59&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2008/07/13/wincc-70-nao-sabe-brincar-nao-brinca/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Sugestão de blog para Rockwell</title>
		<link>http://marcioroberto.wordpress.com/2008/07/13/sugestao-de-blog-para-rockwell/</link>
		<comments>http://marcioroberto.wordpress.com/2008/07/13/sugestao-de-blog-para-rockwell/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 13:45:00 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[CLP]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[SCADA]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/?p=57</guid>
		<description><![CDATA[Amigos, Muitas pessoas me questionavam sobre sistemas fornecidos pela Rockwell (ControlLogix, RSView, etc.).  A maioria das pessoas sabem que tenho um relacionamento mais estreito com a Siemens, infelizmente não tive contato com sistemas da Rockwell, não por que eu não queria, mas sim por falta de oportunidades. Recentemente publicaram no orkut um post divulgando um [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=57&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Amigos,</p>
<p>Muitas pessoas me questionavam sobre sistemas fornecidos pela Rockwell (ControlLogix, RSView, etc.).  A maioria das pessoas sabem que tenho um relacionamento mais estreito com a Siemens, infelizmente não tive contato com sistemas da Rockwell, não por que eu não queria, mas sim por falta de oportunidades.</p>
<p>Recentemente publicaram no orkut um post divulgando um blog, que me parece ser voltado para Rockwell, ou no mínimo mantido por pessoas com experiência em Rockwell e que talvez possam ajudar vocês.</p>
<p>Segue o link.<br />
<a href="http://automationcontrolblog.blogspot.com/">http://automationcontrolblog.blogspot.com/</a></p>
<p>Abraços,</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/57/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/57/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=57&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2008/07/13/sugestao-de-blog-para-rockwell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutoriais de WinCC, Step7 e Outros</title>
		<link>http://marcioroberto.wordpress.com/2008/02/04/tutoriais-de-wincc-step7-e-outros/</link>
		<comments>http://marcioroberto.wordpress.com/2008/02/04/tutoriais-de-wincc-step7-e-outros/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 15:08:37 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[CLP]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[SCADA]]></category>
		<category><![CDATA[WinCC]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/2008/02/04/tutoriais-de-wincc-step7-e-outros/</guid>
		<description><![CDATA[Pessoal, Aqui vai um link para quem sempre me pediu apostilas e tutoriais de WinCC, Step7, Profibus e outros. O material é baixado diretamente do site do Sitrain, que é a divisão de treinamentos da Siemens e é fornecido em Inglês. Aqui vai o link: https://www.automation.siemens.com/fea/html_76/down_module.htm?HTTPS=REDIR Abraços, Márcio Roberto<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=55&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Aqui vai um link para quem sempre me pediu apostilas e tutoriais de WinCC, Step7, Profibus e outros.<br />
O material é baixado diretamente do site do Sitrain, que é a divisão de treinamentos da Siemens e é fornecido em Inglês. Aqui vai o link: <a target="_blank" href="https://www.automation.siemens.com/fea/html_76/down_module.htm?HTTPS=REDIR">https://www.automation.siemens.com/fea/html_76/down_module.htm?HTTPS=REDIR</a></p>
<p>Abraços,</p>
<p>Márcio Roberto</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=55&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2008/02/04/tutoriais-de-wincc-step7-e-outros/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Parceiros para Desenvolvimento de Software Livre</title>
		<link>http://marcioroberto.wordpress.com/2008/02/03/47/</link>
		<comments>http://marcioroberto.wordpress.com/2008/02/03/47/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 17:02:42 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[SCADA]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[WinCC]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/2008/02/03/47/</guid>
		<description><![CDATA[Pessoal, Há muito tempo eu desenvolvi uma ferramenta para poder exportar tudo quanto é dado do WinCC para o Excel, na época o que eu desenvolvi, usando VB6 (veja o link), não ficou legal apesar de funcionar normalmente. Agora eu estou querendo reescrever o programa só que dessa vez usando melhores técnicas e práticas. A [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=47&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Há muito tempo eu desenvolvi uma ferramenta para poder exportar tudo quanto é dado do WinCC para o Excel, na época o que eu desenvolvi, usando VB6 (<a target="_blank" href="https://www.automation.siemens.com/WW/forum/guests/PostShow.aspx?HTTPS=REDIR&amp;language=en&amp;PostID=02169">veja o link</a>), não ficou legal apesar de funcionar normalmente.</p>
<p>Agora eu estou querendo reescrever o programa só que dessa vez usando melhores técnicas e práticas. A começar, usando .NET com orientação a objetos, design patterns, refactoring e tudo mais.</p>
<p>Sinceramente vai servir de base para implementar alguns conceitos que venho estudando, pois o acesso aos dados do WinCC usando Connectivity eu já domino. E vai por mim é uma grande ferramenta.</p>
<p>Dependendo de como a ferramenta for implementada, pode vir a se tornar uma ferramenta para diversos tipos de SCADAs.</p>
<p>Então, com isso eu estou procurando alguém que queria entrar nessa empreitada comigo, para desenvolvermos um sistema juntos, com código fonte aberto ou GNU.</p>
<p>Então o perfil das pessoas que estou procurando é:<br />
- Desenvolvedor VB.NET, não precisa ser especialista. Mas tem que ter conhecimentos em orientação a objetos e alguma coisa de refactoring. Se conhecer o básico de design patterns, melhor.<br />
- Opcional: Que conheça o WinCC ou outro supervisório.<br />
- Que queira desenvolver algo em regime de software aberto.</p>
<p>A idéia é abrir um projeto no <a target="_blank" href="http://sourceforge.net/">sourceforge.net</a> e manter o projeto lá.</p>
<p>Quem quiser participar, me manda um e-mail.</p>
<p>Abraços,</p>
<p>Márcio Roberto</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/47/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/47/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=47&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2008/02/03/47/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Reencontro</title>
		<link>http://marcioroberto.wordpress.com/2008/02/03/reencontros/</link>
		<comments>http://marcioroberto.wordpress.com/2008/02/03/reencontros/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 16:09:58 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[CLP]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[SCADA]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[WinCC]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/?p=46</guid>
		<description><![CDATA[Pessoal, O ano começa prometendo novos desafios. E para mim, dentre inúmeros desafios, coloquei como desafio manter o blog atualizado durante esse ano. E para tanto vou colocar aqui os inúmeros posts que estão no forno ou que estão previamente formatados ou que ainda não passam de masturbações mentais. Mas vamos lá, são eles: - [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=46&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>O ano começa prometendo novos desafios. E para mim, dentre inúmeros desafios, coloquei como desafio manter o blog atualizado durante esse ano. E para tanto vou colocar aqui os inúmeros posts que estão no forno ou que estão previamente formatados ou que ainda não passam de masturbações mentais.</p>
<p>Mas vamos lá, são eles:<br />
- Tutorial de IEC61131-3. Incluindo exemplos, principais diferenças, vantagens e desvantagens e se possível colocar alguma coisa de CFC.<br />
- Tutorial sobre o uso de componentes e bibliotecas (OCX e DLL). Incluindo exemplos de como criar, declarar e reaproveitar componentes. Recentemente fiz uns testes criando componentes COM utilizando o VB2005 e chamando os mesmos dentro do WinCC. Pretendo tomar essa prática padrão daqui pra frente.<br />
- Tutorial sobre o acesso a dados no WinCC. Explicando os conceitos de ADO, o uso de RecordSets e principalmente o Connectivity Pack do WinCC, que pra quem me conhece sabe que é uma das ferramentas que eu mais gosto no WinCC.<br />
- Um How To sobre como abrir blocos travados do Step7 e se possível do WinCC, e ver se ajudo a abolir de uma vez por todas essa praga de travar blocos.<br />
- Finalizar um <a target="_blank" href="http://marcioroberto.wordpress.com/2008/02/03/47/">programa</a> para exportar dados do WinCC para N formatos. Nesse desafio eu estou procurando parceiros.</p>
<p>E se tudo ocorrer bem, começar a discutir algo que eu acho que vai dominar o mercado de automação daqui pra frente. Business Intelligence. Acabei de participar de um workshop que mostra o BI usando o SQL Server 2005 que acompanha o WinCC. Fiquei de queixo com as possibilidades de utilizar algo que no mercado de TI já é o diferencial.</p>
<p>E muito, mas muito mais. O que me falta é tempo.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/46/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/46/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=46&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2008/02/03/reencontros/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Despedida</title>
		<link>http://marcioroberto.wordpress.com/2008/02/03/despedida/</link>
		<comments>http://marcioroberto.wordpress.com/2008/02/03/despedida/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 12:30:36 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[Blogroll]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/?p=45</guid>
		<description><![CDATA[Pessoal, Desde o dia 04/01/2007 eu não faço mais parte do quadro de colaboradores da Netdel. Foram quase 7 anos juntos desenvolvendo soluções em automações de usinas hidroelétricas e subestações. Nesse mesmo período tive a oportunidade de ministrar diversos treinamentos pela Siemens, e durante esses treinamentos eu senti a necessidade de um espaço onde pudesse [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=45&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Desde o dia 04/01/2007 eu não faço mais parte do quadro de colaboradores da Netdel. Foram quase 7 anos juntos desenvolvendo soluções em automações de usinas hidroelétricas e subestações.<br />
Nesse mesmo período tive a oportunidade de ministrar diversos treinamentos pela Siemens, e durante esses treinamentos eu senti a necessidade de um espaço onde pudesse expor abertamente minha opinião sobre assuntos que durante o treinamento não havia espaço para eu expor. Dessa necessidade surgiu este blog.</p>
<p>De qualquer forma foi um período que eu certamente não esquecerei e guardarei excelentes lembranças, sendo que nesse período foi que eu pude aprimorar minha experiência profissional em virtude dos desafios que me foram apresentados.</p>
<p>Gostaria de agradecer a cada uma das pessoas que compõem o quadro da Netdel:<br />
Daniel Guillize: Meu Guru, o qual eu tenho o devido respeito por tudo o que me ensinou, principalmente por ter me ensinado a ser um programador e não um programador de CLP somente.<br />
Elber Lombardi<br />
Liberato Perfetto<br />
Michel Lombardi<br />
Roberto Canonico</p>
<p>Não pensem que vocês estão livres de mim, pois de agora em diante eu irei compor o time de automação de um player internacional e um dos principais fornecedores de equipamentos eletromecânicos e soluções em geração de energia. Ou seja, eu vou poder continuar colocando a cachola pra funcionar e discutindo temas, dentro de certos limites, que sejam tabus ou de interesse geral.</p>
<p>Abraços a todos e que venha 2008.</p>
<p>Márcio Roberto</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=45&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2008/02/03/despedida/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Teste Seus Conhecimentos em Step7.</title>
		<link>http://marcioroberto.wordpress.com/2007/08/10/teste-seus-conhecimentos-em-step7/</link>
		<comments>http://marcioroberto.wordpress.com/2007/08/10/teste-seus-conhecimentos-em-step7/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 19:57:58 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[Blogroll]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/2007/08/10/teste-seus-conhecimento-em-step7/</guid>
		<description><![CDATA[Pessoal, Não está nada fácil manter o blog, participar de comunidades de automação, ministrar cursos e principalmente fazer os projetos na Netdel. Devido a essa correria é que deixei o blog meio desatualizado, mas não esqueci de alguns assuntos que as pessoas estavam pedindo uma força. Tão logo sobre um tempo eu vou despejar um [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=41&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pessoal,
</p>
<p>Não está nada fácil manter o blog, participar de comunidades de automação, ministrar cursos e principalmente fazer os projetos na Netdel. Devido a essa correria é que deixei o blog meio desatualizado, mas não esqueci de alguns assuntos que as pessoas estavam pedindo uma força. <br />Tão logo sobre um tempo eu vou despejar um caminhão de posts por aqui, mas enquanto isso não acontece, eu sugiro que vocês testem o conhecimento de cada um num simulado on-line de STEP7. O simulado até que é bem legal. Diga-se de passagem, não tem nenhuma questão de outro mundo, até por que envolve questões relacionadas aos cursos básicos.<br />Entre no link abaixo, não é necessário realizar nenhum cadastro. É só digitar o seu nome (que será impresso no certificado ao final do simulado) e mostrar que você sabe.
</p>
<p><a href="http://www.sitrain.com/servlet/FrameSwitch?header=header1.html&amp;secNav=secnav10.html&amp;script=frame_adjust_wide&amp;Lang_ID=EN&amp;content=../html_76/training/content_Sx227_DE.html">http://www.sitrain.com/servlet/FrameSwitch?header=header1.html&amp;secNav=secnav10.html&amp;script=frame_adjust_wide&amp;Lang_ID=EN&amp;content=../html_76/training/content_Sx227_DE.html</a>
	</p>
<p>O simulado segue bem o jeitão alemão de avaliação. As perguntas que tem duas ou mais respostas somente são consideradas corretas se TODAS as opções corretas forem selecionadas. Nem mais nem menos.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=41&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2007/08/10/teste-seus-conhecimentos-em-step7/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Mercado de Automação Aquecido. Vagas em Aberto</title>
		<link>http://marcioroberto.wordpress.com/2007/08/10/mercado-de-automacao-aquecido-vagas-em-aberto/</link>
		<comments>http://marcioroberto.wordpress.com/2007/08/10/mercado-de-automacao-aquecido-vagas-em-aberto/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 19:47:37 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[Blogroll]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/2007/08/10/mercado-de-automacao-aquecido/</guid>
		<description><![CDATA[Quem procura um emprego ou oferece uma vaga na área de automação sabe que esse mercado está pegando fogo.Está muito difícil encontrar bons profissionais, pois os mesmos estão sendo recrutados a peso de ouro, e por outro lado os bons profissionais estão podendo escolher as empresas em que querem trabalhar. O outro lado da moeda [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=40&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Quem procura um emprego ou oferece uma vaga na área de automação sabe que esse mercado está pegando fogo.<br />Está muito difícil encontrar bons profissionais, pois os mesmos estão sendo recrutados a peso de ouro, e por outro lado os bons profissionais estão podendo escolher as empresas em que querem trabalhar.
</p>
<p>O outro lado da moeda é que com essa movimentação toda no mercado, acabam aparecendo os aproveitadores de plantão. Seja pelos maus profissionais que se apresentam como os super-especialistas em determinados assuntos, seja pelas empresas que prometem mundos e fundos aos profissionais, porém não possuem reais condições de manterem os seus quadros e principalmente os benefícios negociados.
</p>
<p>Recentemente tive a oportunidade de conversar com uma gerente de recursos humanos de uma empresa de automação do Rio, e vi que ainda existem muitas boas empresas na nossa área, e que principalmente não me pareceu estar somente na onda do momento. <br />Ela me pediu para postar o contato no blog, para que vocês possam enviar os seus currículos. Essa empresa possui vagas em aberto e está sempre buscando profissionais para compor o seu time.
</p>
<p>Então aqui vai o seu contato:</p>
<p>Priscilla Mendonça<br /><a href="mailto:priscilla.mendonca@contraste.com.br">mailto:priscilla.mendonca@contraste.com.br</a>
	</p>
<p>Não esquecer que a empresa está situada no Rio de Janeiro</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=40&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2007/08/10/mercado-de-automacao-aquecido-vagas-em-aberto/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>
	</item>
		<item>
		<title>Acesso indexado no Step7</title>
		<link>http://marcioroberto.wordpress.com/2007/05/10/acesso-indexado-no-step7/</link>
		<comments>http://marcioroberto.wordpress.com/2007/05/10/acesso-indexado-no-step7/#comments</comments>
		<pubDate>Fri, 11 May 2007 00:52:58 +0000</pubDate>
		<dc:creator>Márcio Roberto</dc:creator>
				<category><![CDATA[CLP]]></category>

		<guid isPermaLink="false">http://marcioroberto.wordpress.com/2007/05/10/acesso-indexado-no-step7/</guid>
		<description><![CDATA[Eu costumo comentar com as pessoas que o divisor de águas entre quem pode afirmar que conhece, e bem o PLC da Siemens e quem sabe o usar o PLC, é exatamente o conhecimento e o uso do tipo ANY.  Genericamente falando o ANY é um dado muito pretensioso, pois ele pode ser qualquer coisa [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=28&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Tahoma;"></span></p>
<p><span style="font-family:Tahoma;"><a href="http://marcioroberto.files.wordpress.com/2007/05/pointer_type.jpg" title="Formatação do POINTER"></a>Eu costumo comentar com as pessoas que o divisor de águas entre quem pode afirmar que conhece, e bem o PLC da Siemens e quem sabe o usar o PLC, é exatamente o conhecimento e o uso do tipo ANY.</span><span style="font-family:Tahoma;"> <br />
</span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Genericamente falando o ANY é um dado muito pretensioso, pois ele pode ser qualquer coisa e apontar para qualquer coisa dentro do PLC. Tradução literal, ANY pode ser qualquer coisa. E ele é.</span><span style="font-family:Tahoma;"> </span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Veja as figuras abaixo.</span><span style="font-family:Tahoma;"> </span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><img src="http://marcioroberto.files.wordpress.com/2007/05/any_variable.jpg?w=780" alt="Formatação do ANY para variáveis" /><br />
<span style="font-family:Tahoma;">Formatação do ANY para variáveis na memória.<br />
</span></span></span></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><br />
</span></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><img src="http://marcioroberto.files.wordpress.com/2007/05/any_parameter.jpg?w=780" alt="Formatação do ANY para parâmetros" /></span><br />
</span></span></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;">Formatação do ANY para blocos de dados (parâmetros).</span></span></span></span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"></span></span></span></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Essas figuras documentam a formatação do dado ANY, que possui em sua estrutura 80 bits. Com essa formatação ele pode simplesmente apontar para qualquer área no PLC. </span><span style="font-family:Tahoma;">Isso é mais do que ser uma forma de endereçamento variável.<br />
</span></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Geralmente, associamos o termo endereçamento variável ou endereçamento indireto ao uso de dados que ora apontam para uma região de memória e ora apontam para outra região. </span><span style="font-family:Tahoma;">Não é esse o caso, pois o ANY pode inclusive apontar para funções, atuando quase que como um ponteiro para função do C/C++.<br />
</span><span style="font-family:Tahoma;">Se você precisa somente de um ponteiro que aponte para endereços de memória, você poderia utilizar o tipo POINTER do PLC. </span><span style="font-family:Tahoma;"> <br />
</span></span><span style="font-family:Tahoma;">Veja a figura abaixo.</span><span style="font-family:Tahoma;"> <br />
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><a href="http://marcioroberto.files.wordpress.com/2007/05/pointer_type.jpg" title="Formatação do POINTER"></a><img src="http://marcioroberto.files.wordpress.com/2007/05/pointer_type.jpg?w=780" alt="Formatação do POINTER" /><br />
Formatação do Pointer</span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">O uso do POINTER e ANY de forma a apontarem para endereços de memória são muito semelhantes, sendo que o POINTER possui em sua estrutura 48 bits, mas por hora me atentarei ao uso do ANY, que é muito mais completo e muito mais mutante.</span><span style="font-family:Tahoma;"> <br />
</span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Vamos analisar a estrutura completa do ANY.<br />
</span><span style="font-family:Tahoma;">Primeiramente vamos analisar a estrutura apontando para endereços de variáveis na memória do PLC.</span><span style="font-family:Tahoma;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<ol>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 0:</strong><br />
</span><span style="font-family:Tahoma;">Indica o header do ANY, sendo que no S7 é obrigatório que esse byte possua o valor 10h (B#16#10).</span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 1:</strong><br />
</span><span style="font-family:Tahoma;">Indica o tipo de dados representado pela ANY, podendo ser:</p>
<table border="0" width="538" cellPadding="0" style="width:403.4pt;margin:auto auto auto 38.25pt;" class="MsoNormalTable">
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;">
<p style="margin:0;" class="MsoNormal"><font size="3"><strong><span style="font-family:Tahoma;">Código Hexadecimal </span></strong><span style="font-family:Tahoma;"></span></font></p>
</td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><font size="3"><strong><span style="font-family:Tahoma;">Tipo do Dado </span></strong><span style="font-family:Tahoma;"></span></font></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><font size="3"><strong><span style="font-family:Tahoma;">Descrição</span></strong><span style="font-family:Tahoma;"></span></font></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#00 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">NIL </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Ponteiro Nulo </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#01 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">BOOL </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Bits</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#02 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">BYTE </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Byte (8 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#03 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">CHAR </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Caracteres (8 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#04 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">WORD </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Palavra (16 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#05 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">INT </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Inteiro (16 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#06 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">DWORD </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Dupla Palavra (32 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#07 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">DINT </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Duplo Inteiro (32 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#08 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">REAL </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Número de Ponto Flutuante (32 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#09 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">DATE </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Data</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#0A </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">TIME_OF_DAY (TOD) </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Hora do Dia</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#0B </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">TIME </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Tempo </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#0C </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">S5TIME </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Tempo tipo S5TIME </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#0E </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">DATE_AND_TIME (DT) </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Data e Hora (64 bits) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#13 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">STRING </font></span></td>
<td width="175" vAlign="top" style="width:131.15pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Texto</font></span></td>
</tr>
</table>
<p></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;"><strong>Byte 2 e Byte 3 (Word 2):<br />
</strong></span><span style="font-family:Tahoma;">Indica o fator de repetição, ou seja, quantos dados esse ANY representa.</span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 4 e Byte 5 (Word 4):</strong><br />
</span><span style="font-family:Tahoma;">Indica o número do DB, caso o ANY esteja representando dados de um DB em específico, ou o valor zero caso não aponte para nenhum DB.</span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 6:</strong><br />
</span><span style="font-family:Tahoma;">Indica o tipo de memória representada pelo ANY, podendo ser:</p>
<table border="0" width="540" cellPadding="0" style="width:405pt;margin:auto auto auto 38.25pt;" class="MsoNormalTable">
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;">
<p style="margin:0;" class="MsoNormal"><font size="3"><strong><span style="font-family:Tahoma;">Código Hexadecimal </span></strong><span style="font-family:Tahoma;"></span></font></p>
</td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><font size="3"><strong><span style="font-family:Tahoma;">Área</span></strong><span style="font-family:Tahoma;"></span></font></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><font size="3"><strong><span style="font-family:Tahoma;">Descrição</span></strong><span style="font-family:Tahoma;"></span></font></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#81 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">I </font></span></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Área de Entrada</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#82 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Q </font></span></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Área de Saída </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#83 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">M </font></span></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Área de Bit Memory (Flags ou Markers) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#84 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">DB </font></span></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Bloco de Dados</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#85 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">DI </font></span></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Bloco de Dados Instanciados</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#86 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">L </font></span></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Área Local (L stack) </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#87 </font></span></td>
<td width="178" vAlign="top" style="width:133.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">V </font></span></td>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Área de Local Anterior</font></span></td>
</tr>
</table>
<p></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;"><strong>Byte 7, 8 e 9:</strong><br />
</span><span style="font-family:Tahoma;">Nesses bytes está representado o endereço (no padrão Byte.Bit,ou 00000bbbbbbbbbbbbbbbb.xxx, onde b=número do byte e x número do bit).</span><span style="font-family:Tahoma;"> </span></li>
</ol>
<p class="MsoNormal"><span style="font-family:Tahoma;"></span></p>
<p class="MsoNormal"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Agora vamos analisar a estrutura apontando para parâmetros de blocos na memória do PLC</span></span></p>
<ol>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 0:<br />
</strong></span><span style="font-family:Tahoma;">Indica o header do ANY, sendo que no S7 é obrigatório que esse byte possua o valor 10h (B#16#10).</span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 1:<br />
</strong></span><span style="font-family:Tahoma;">Indica o tipo de dados representado pela ANY em questão, podendo ser:</p>
<table border="0" cellPadding="0" style="margin:auto auto auto 38.25pt;" class="MsoNormalTable">
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;">
<p style="margin:0;" class="MsoNormal"><font size="3"><strong><span style="font-family:Tahoma;">Código Hexadecimal </span></strong><span style="font-family:Tahoma;"></span></font></p>
</td>
<td width="118" vAlign="top" style="width:88.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><font size="3"><strong><span style="font-family:Tahoma;">Tipo do Dado </span></strong><span style="font-family:Tahoma;"></span></font></td>
<td width="225" vAlign="top" style="width:168.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><font size="3"><strong><span style="font-family:Tahoma;">Descrição</span></strong><span style="font-family:Tahoma;"></span></font></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#17 </font></span></td>
<td width="118" vAlign="top" style="width:88.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">BLOCK_FB </font></span></td>
<td width="225" vAlign="top" style="width:168.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Número do FB</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#18 </font></span></td>
<td width="118" vAlign="top" style="width:88.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">BLOCK_FC </font></span></td>
<td width="225" vAlign="top" style="width:168.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Número do FC</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#19 </font></span></td>
<td width="118" vAlign="top" style="width:88.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">BLOCK_DB </font></span></td>
<td width="225" vAlign="top" style="width:168.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Número do DB</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#1A </font></span></td>
<td width="118" vAlign="top" style="width:88.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">BLOCK_SDB </font></span></td>
<td width="225" vAlign="top" style="width:168.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Número do SDB</font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#1C </font></span></td>
<td width="118" vAlign="top" style="width:88.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">COUNTER </font></span></td>
<td width="225" vAlign="top" style="width:168.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Número do Contador </font></span></td>
</tr>
<tr>
<td width="177" vAlign="top" style="width:132.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">B#16#1D </font></span></td>
<td width="118" vAlign="top" style="width:88.5pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">TIMER </font></span></td>
<td width="225" vAlign="top" style="width:168.75pt;background-color:transparent;border:#d4d0c8;padding:0.75pt;"><span style="font-family:Tahoma;"><font size="3">Número do Temporizador</font></span></td>
</tr>
</table>
<p></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;"><strong>Byte 2 e Byte 3 (Word 2):<br />
</strong></span><span style="font-family:Tahoma;">Não relevantes, sendo que o valor dessa Word será sempre 1.<span>         </span></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 4 e Byte 5 (Word 4):<br />
</strong></span><span style="font-family:Tahoma;">Não relevante, sendo que o valor dessa Word será sempre 0.</span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 6:<br />
</strong></span><span style="font-family:Tahoma;">Não relevante, sendo que o valor dessa Word será sempre 0.</span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><strong>Byte 8 e 9 (Word 8):<br />
</strong></span><span style="font-family:Tahoma;">Indica o número do FB, FC, DB, SDB, Contador ou Temporizador representado pelo ANY.</span><span style="font-family:Tahoma;"> </span></li>
</ol>
<p class="MsoNormal"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Bom, até aqui eu somente fiz uma tradução simples do help do S7. O que por um lado é bom, e por outro é ruim.<br />
</span><span style="font-family:Tahoma;">O bom é que por mais complexo que pareça, o TIPO ANY é simples de entender, o ruim é que o help básico do S7 não contempla bons exemplos com o ANY. O que pode ser facilmente corrigido, fazendo uma procura no <a target="_blank" href="http://www4.ad.siemens.de.">www4.ad.siemens.de</a>.</span><span style="font-family:Tahoma;"> </span></span><span style="font-family:Tahoma;"> </span></p>
<p class="MsoNormal"><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;">Mas façamos o seguinte, outro dia o Williams me perguntou como fazer um FC para reescrever os valores das entradas.<br />
De bate pronto eu comentei com ele que é plenamente possível fazer isso com:<br />
</span><span style="font-family:Tahoma;">A <span>       </span>I0.0<br />
</span><span style="font-family:Tahoma;">NOT<br />
</span><span style="font-family:Tahoma;">=<span>       </span>I0.0<br />
</span><span style="font-family:Tahoma;">Ou seja, se o código acima (em STL) estiver rodando na primeira linha do OB1, a entrada I0.0 será invertida a cada começo de ciclo de CPU (observe que estou desconsiderando a possibilidade de utilizar-se o particionamento de imagem de periferia do S7) e terá o valor invertido durante este ciclo em qualquer parte do programa.</span></p>
<p><span style="font-family:Tahoma;">Para tentar ser mais claro, poderia fazer o seguinte:<br />
</span><span style="font-family:Tahoma;">A<span>        </span>M4.3<br />
</span><span style="font-family:Tahoma;">=<span>       </span>I0.0<br />
</span><span style="font-family:Tahoma;">Se esse código estiver rodando na primeira linha do OB1, a entrada (ou mais correto dizer, o endereço) I0.0 será cópia do valor de M4.3.<br />
</span><span style="font-family:Tahoma;">Se você não sabia desse fato, fique sabendo agora, e saiba também que todo PLC a principio segue esse comportamento.<br />
</span><span style="font-family:Tahoma;">Devido a esse comportamento, que eu vivo criando ferramentas de simulação de I/O para tudo quanto é tipo de PLC, assim como queria fazer o Williams.</span><span style="font-family:Tahoma;"> <br />
</span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Legal, mas aonde entra o ANY nisso tudo? Esse é o ponto meu camarada! </span><span style="font-family:Tahoma;">O Williams que não é bobo, queria fazer uma função parametrizada que fizesse isso por ele. Logo ele iria entrar com o endereço inicial da entrada que ele iria simular e os valores que deveriam ser forçados. Nada mais prático!<br />
</span><span style="font-family:Tahoma;">Bom, eu mandei uma sugestão para ele, sendo que poderia criar o seguinte FC:<br />
</span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><font size="1" color="#000080">FUNCTION<font size="1"> </font><font size="1" color="#000080">FC</font><font size="1"> 3 : </font><font size="1" color="#800040">VOID<br />
</font><font size="1" color="#000080">TITLE</font><font size="1"> </font><font size="1" color="#0000ff">=<br />
</font><font size="1" color="#000080">FAMILY</font><font size="1"> : Sim<br />
</font><font size="1" color="#000080">NAME</font><font size="1"> : SimIO<br />
</font><font size="1" color="#000080">VERSION</font><font size="1"> : 1.0</font></font></span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><font size="1" color="#000080"><font size="1"><font size="1" color="#000080">VAR_INPUT<br />
</font><font size="1">IoIn : </font><font size="1" color="#800040">ANY</font><font size="1"> ; </font><font size="1" color="#008000">//Pointer entrada digital para ser forçada<br />
</font><font size="1">IN00 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada 0<br />
</font><font size="1">IN01 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada 1<br />
</font><font size="1">IN02 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada 2<br />
</font><font size="1">IN03 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada 3<br />
</font><font size="1">IN04 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada 4<br />
</font><font size="1">IN05 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada 5<br />
</font><font size="1">IN06 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada 6<br />
</font><font size="1">IN07 : </font><font size="1" color="#800040">BOOL</font><font size="1"> ; </font><font size="1" color="#008000">//Valor da entrada7<br />
</font><font size="1" color="#000080">END_VAR</font></font></font></span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><font size="1" color="#000080"><font size="1"><font size="1" color="#000080">VAR_TEMP<br />
<font size="1">DB_NR : </font><font size="1" color="#800040">WORD</font><font size="1"> ;<br />
</font><font size="1" color="#000080">END_VAR</font></font></font></font></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><font size="1" color="#000080"><font size="1"><font size="1" color="#000080"> </font></font></font></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><font size="1" color="#000080"><font size="1"><font size="1" color="#000080"><font size="1" color="#000080">BEGIN</font><font size="1" color="#000080"> </font></font></font></font></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><font size="1" color="#000080"><font size="1"><font size="1" color="#000080"><font size="1" color="#000080">NETWORK<br />
TITLE<font size="1"> =Inicializa apontador<br />
</font><font size="1" color="#008000">//Ver que esta sendo usado um parametros do tipo ANY<br />
//Deverá ser chamado este bloco passando o primeiro bit da área a ser<br />
//sobreescrita.<br />
//////////////////////////////////////////////////////////////////////////////////////////////<br />
</font><font size="1" color="#0000ff">L</font><font size="1"> P##IoIn;<br />
</font><font size="1" color="#0000ff">LAR1</font><font size="1"> ;<br />
</font><font size="1" color="#008000">//Abre o DB, se estiver sendo utilizado<br />
</font><font size="1" color="#0000ff">L</font><font size="1"> </font><font size="1" color="#408080">W</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#4.0];<br />
</font><font size="1" color="#0000ff">T</font><font size="1"> #DB_NR;<br />
</font><font size="1" color="#0000ff">OPN</font><font size="1"> </font><font size="1" color="#000080">DB</font><font size="1"> [#DB_NR];<br />
</font><font size="1" color="#008000">//carrega pointeiro de area cruzada. Ver ponteiro any<br />
</font><font size="1" color="#0000ff">L</font><font size="1"> </font><font size="1" color="#408080">D</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#6.0];<br />
</font><font size="1" color="#0000ff">LAR1</font><font size="1"> ;<br />
</font><font size="1" color="#008000">//////////////////////////////////////////////////////////////////////////////////////////////<br />
</font></font><font size="1" color="#000080"><font size="1" color="#000080">NETWORK<br />
TITLE<font size="1"> =Sobreescreve </font><font size="1" color="#408080">os</font><font size="1"> bits apontados pelo parametro IoIn<br />
</font><font size="1" color="#008000">//////////////////////////////////////////////////////////////////////////////////////////////<br />
//Entrada 00<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN00;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.0];<br />
</font><font size="1" color="#008000">//Entrada 01<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN01;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.1];<br />
</font><font size="1" color="#008000">//Entrada 02<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN02;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.2];<br />
</font><font size="1" color="#008000">//Entrada 03<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN03;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.3];<br />
</font><font size="1" color="#008000">//Entrada 04<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN04;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.4];<br />
</font><font size="1" color="#008000">//Entrada 05<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN05;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.5];<br />
</font><font size="1" color="#008000">//Entrada 06<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN06;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.6];<br />
</font><font size="1" color="#008000">//Entrada 07<br />
</font><font size="1" color="#0000ff">A</font><font size="1"> #IN07;<br />
</font><font size="1" color="#0000ff">=</font><font size="1"> [</font><font size="1" color="#408080">AR1</font><font size="1">,P#0.7];<br />
</font><font size="1" color="#008000">//////////////////////////////////////////////////////////////////////////////////////////////<br />
</font><font size="1" color="#000080">END_FUNCTION<br />
</font></font></font></font></font></font></span></span></p>
<p><span style="font-family:Tahoma;">Bom, pra ser sincero, o segredo desse FC está em como o parâmetro ANY é passado para o FC, pois se vocês perceberem, o IoIn é um parâmetro de entrada. Mas se ele é um parâmetro de entrada, como pode estar sendo sobrescrito? No mínimo deveria ser um parâmetro do tipo Input/Output.<br />
Não vamos nos desviar do nosso foco, o ANY. A grande sacada é perceber que o ANY nos informa o tipo e o endereço do dado que está sendo passado, e com isso poderiamos avaliar todas as informações possíveis sobre este dado.<br />
</span><span style="font-family:Tahoma;">No FC acima, foi executada a instrução<br />
L P#IoIn<br />
LAR1<br />
Mas que raio isso significa?<br />
A instrução L P#IoIn está carregando o ponteiro de 32 bits no acumulador 1 da CPU (ou o ACCU1), ela retorna algum valor do tipo DW#16#8700XXYY, onde:<br />
B#16#87: Corresponde a memória local anterior. E o que significa isso? Resumidamente, significa que o ANY em questão está armazenado na área local (L stack) do bloco que o chamou. Aqui é o segredo da coisa. Pois, com a próxima instrução, LAR1, o conteúdo do ACCU1 será copiado para o registrador de endereço 1 (ou o AR1).<br />
</span><span style="font-family:Tahoma;">Como o AR1 está apontando exatamente para o ANY que foi passado, basta copiarmos a parte do ponteiro de 32 Bits de área cruzada desse ANY para o AR1, e logo o AR1 irá apontar exatamente para a variável apontanda inicialmente pelo IoIn. Dessa forma:<br />
L D[AR1,P#6.0]<br />
LAR1</span><span style="font-family:Tahoma;"><br />
Uma vez que você tem o ponteiro de onde sua informação está armazenada, é só acessá-la. Como? Veja isso:<br />
A #IN01<br />
= [AR1,P#0.0]<br />
O que significa esse raio pior ainda?<br />
Calma, vamos analisar.<br />
A instrução A #IN01 não deveria ser problema para quem está querendo aprender o ANY. No caso essa instrução está iniciando uma operação lógica com o bit IN01 (parâmetro de entrada do tipo BOOL, ver declaração do FC).<br />
Ok, mas o que significa =[AR1,P#0.0]? Significa que o resultado da operação lógica (RLO para os íntimos) será atribuída ao endereço apontado por AR1 (que guardou o endereço do parâmetro IoIn, conforme código acima) deslocada de zero bit, conforme o OFFSET P#0.0. Lindo, não?<br />
</span><span style="font-family:Tahoma;">Se você quisesse escrever no endereço apontado por AR1, porém deslocado de 2 bits você poderia fazer o seguinte:<br />
Opção A:<br />
= [AR1, P#0.2]<br />
Dessa forma você está mudando o deslocamento através do OFFSET da instrução de escrita.<br />
Opção B:<br />
L P#0.2<br />
+AR1<br />
= [AR1,P#0.0]<br />
Sim, amigo. Existe notação de ponteiros no PLC da Siemens. No caso as instruções L P#0.2 +AR1, somou o deslocamento de 2 bits ao endereço apontado por AR1. Evidentemente nesse caso, perdeu-se o endereço apontado por IoIn.</span></p>
<p><span style="font-family:Tahoma;"></span></p>
<p><span style="font-family:Tahoma;"><strong>Conclusão:</strong></span></p>
<p><span style="font-family:Tahoma;">Percebe-se por este pequeno post, que o uso do ANY é muito mais complexo do que a sua documentação sugere. Até porque fizemos um uso até que simples para ele.<br />
Poderiamos aumentar as possibilidade utilizando dados complexos (maiores que 32 bits) como , array, structs, UDT, date and time e outros, porém tudo parte do principio que o ANY pode apontar para esses dados através de seus 80 bits.<br />
Evidentemente e forçadamente eu tentei evitar o seu uso em lógicas simples, como para intertravamentos ou o uso do ANY onde outros meios fariam a mesma coisa e com uma simplicidade de entendimento e desenvolvimento muito melhor. Logo <strong>NÃO SE USA O ANY AONDE NÃO É PRECISO</strong>, porém o seu uso pode facilitar e muito certos problemas.<br />
Exemplos aonde o ANY pode ser utilizado:<br />
Leituras e Escritas de records extensos;<br />
Criação de funções com buffers e vetores;<br />
Funções que precisam avaliar o tipo de dado que está sendo passado, e que o mesmo pode mudar ao longo da execução do programa.<br />
Blocos de Comunicação (quase todos os que eu conheço usam o ANY como parâmetro).<br />
Criação de funções que demandem alto processamento de copy, move, set e reset.<br />
Funções que demandem acessos indexados.</span></p>
<p><span style="font-family:Tahoma;">No caso de funções que demandem somente acessos indexados simples, eu sugiro antes de usar o ANY o estudo do uso do seguintes acessos indexados:<br />
<strong>Ponteiro de 16 Bits com uso de memória</strong> (para DBs, temporizadores e contadores). Ex.:<br />
OPN DB[ MW100]<br />
SE[MW100]<br />
CD[MW100];<br />
<strong>Ponteiro de 32 Bits com uso de memória </strong>(com área interna). Ex.:<br />
L P#0.0<br />
T MD100</span><span style="font-family:Tahoma;"><br />
L IW[MD100]<br />
<strong>Ponteiro de 32 Bits com uso de registrador indireto</strong> (com área interna). Ex.:<br />
L P#0.0<br />
LAR1<br />
L IW[AR1,P#0.0]<br />
<strong>Ponteiro de 32 Bits com uso de registrador indireto</strong> (com área cruzada). Ex.:<br />
L P#I0.0<br />
LAR1<br />
L W[AR1,P#0.0]<br />
<strong>Ponteiro de 48 Bits com uso de registrador indireto</strong> (com área cruzada).<br />
Este permite o acesso ao número do DB utilizado.<br />
Este ponteiro funciona como o ponteiro de 32 Bits com uso de registrador indireto e com área cruzada. A principal diferença é que ele pode ser declarado como parâmetro em FB e FC. Sua estrutura segue o padrão da figura abaixo.<br />
<img src="http://marcioroberto.files.wordpress.com/2007/05/pointer_type.jpg?w=780" alt="Formatação do POINTER" /><br />
Formatação do Pointer</span></p>
<p><span style="font-family:Tahoma;"></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">O uso de parâmetros complexos, como o Ponteiro de 48 Bits e o ANY (80 Bits) tem restrições quando utilizados em FB e FC, porém não vou entrar em detalhes, pois o próprio Step7 não deixará você utilizá-los de forma errada, porém faço grandes advertências em relação ao uso dos registradores de endereço, AR1 e AR2.</span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><strong>Cuidados com o uso do AR1 e do AR2:</strong><br />
<span style="font-family:Tahoma;">Cuidado com o uso do AR1 em FCs que chamam blocos que pedem dados complexos (string, array,structure e UDT) como parâmetro. O mesmo vale para FBs que passam esses parâmetros como IN_OUT.<br />
Cuidado com o uso do AR2 dentro de FBs, pois ele é utilizado para acessar os dados do DB Instance, logo dependendo da forma como você alterá-lo, pode impedir o acesso aos dados do DB instance desse FB.</span></span></span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><strong>Uma luz no fim do túnel:<br />
</strong>Pra quem está dizendo:<br />
</span></span></span></span><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Não entendi nada!<br />
Que porcaria esse ANY e esses acessos indexados!<br />
Tô perdido!</span></span></span></span></p>
<p><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;"><span style="font-family:Tahoma;">Eu dou um conselho. Não entre em pânico!<br />
Felizmente você pode passar a vida toda sem se preocupar em ter que aprender o ANY e seus derivados, pois o seu processo pode ser extremamente simples e não demandar algo do tipo. Ou então você pode precisar de algo do tipo e acabar de vez com os seus problemas programando o PLC com a linguagem SCL (o texto estruturado da IEC61131-3). Veja que facilidade em fazer um acesso indexado sobre um DB indexado sendo que o componente interno desse DB também será acessado de forma indexada:<br />
word_to_db(número_DB).DW[número_componente].<br />
Nada mais simples!<br />
Evidentemente o que está rolando por trás é muito acesso indexado com o ANY e seus derivados. Mas você nem precisaria saber isso!</span></span></span></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/marcioroberto.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/marcioroberto.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marcioroberto.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marcioroberto.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marcioroberto.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marcioroberto.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/marcioroberto.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/marcioroberto.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/marcioroberto.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/marcioroberto.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marcioroberto.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marcioroberto.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marcioroberto.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marcioroberto.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marcioroberto.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marcioroberto.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marcioroberto.wordpress.com&amp;blog=485383&amp;post=28&amp;subd=marcioroberto&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://marcioroberto.wordpress.com/2007/05/10/acesso-indexado-no-step7/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3318e6064707905d1bfb16767cfbebe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Márcio Roberto</media:title>
		</media:content>

		<media:content url="http://marcioroberto.files.wordpress.com/2007/05/any_variable.jpg" medium="image">
			<media:title type="html">Formatação do ANY para variáveis</media:title>
		</media:content>

		<media:content url="http://marcioroberto.files.wordpress.com/2007/05/any_parameter.jpg" medium="image">
			<media:title type="html">Formatação do ANY para parâmetros</media:title>
		</media:content>

		<media:content url="http://marcioroberto.files.wordpress.com/2007/05/pointer_type.jpg" medium="image">
			<media:title type="html">Formatação do POINTER</media:title>
		</media:content>

		<media:content url="http://marcioroberto.files.wordpress.com/2007/05/pointer_type.jpg" medium="image">
			<media:title type="html">Formatação do POINTER</media:title>
		</media:content>
	</item>
	</channel>
</rss>
