terça-feira, 17 de fevereiro de 2009

Backup

Backup, meus amigos, backup.

Quem trabalha com automação sabe o quanto é importante uma cópia de segurança de aplicações de PLC, Supervisórios, e qualquer outra coisa que trabalhe com software.

Eu costumo fazer clones dos HDs dos supervisórios, notebooks e estações de desenvolvimento, além de cópias dos aplicativos. Mas além disso um detalhe é muito importante, a localização dos backups.

Posso ver o fulano que perdeu os dados com as mãos na cabeça.


Um episódio interessante (pra não dizer estúpido) aconteceu durante o evento do pouso forçado do avião da US Airways no rio Hudson, o cara tinha como backup um segundo laptop com a cópia dos arquivos importantes. 
Ele levava o laptop a todo lugar. E o backup? Ia junto, no mesmo avião. Resultado: um laptop com dados importantíssimos e o seu respectivo backup congelados juntinhos, dentro do rio Hudson.


Vi no meiobit, post do Cardoso.

quinta-feira, 1 de janeiro de 2009

Ethernet - cabo de par trançado

As redes ethernet além de muito difundidas, tem a manutenção e implantação muito simples. Porém alguns detalhes têm que ser observados, como o cabeamento.

Muitas pessoas ligadas a manutenção de computadores domésticos ou de escritórios,  crimpam os conectores sem dar muita importância para a sequência dos condutores no conector.
Pode parecer um detalhe por demais perfeccionista, mas na verdade, dependendo do comprimento do cabo pode significar o funcionamento ou não da rede, isso porquê o cabo UTP vem aos pares, cada qual devidamente trançado para uma finalidade, a de ficar imune (ou menos suscetível) aos ruídos.



Para que isso aconteça, cada sinal (TX e RX) deve estar trançado a
o seu par inverso (TX+ e TX-, RX+ e RX-), os sinais vêm acompanhados de seus "inversos" para que o hardware possa distinguir e eliminar os ruídos.


Considerando o conector padrão RJ-45, os sinais estão dispostos da seguinte forma:



Notem que os sinais RX+ e RX- não são consecutivos, o que faz com que os pares não fiquem na ordem normal no conector.
Assim, o pino 3 e o 6 devem ser do mesmo par. 

Segundo a norma EIA/TIA-568-B, o padrão para esta sequência fica da seguinte forma: 



Conclusão: se crimparmos os conectores RJ-45 usando os pares na ordem natural a rede provavelmente funcionará, porém com sérios problemas quanto à vulnerabilidade a ruídos, o que talvez não seja um grande problema em uma rede doméstica, mas representa um grave risco às redes industriais.


Fontes:

terça-feira, 26 de agosto de 2008

Redes de dispositivos - AS-interface

Apesar de já fazer um tempo que não postávamos, o blog não estava abandonado. Estou pensando uma forma de criar uma sessão de downloads, para material técnico e aplicativos livres.

Bom, enquanto não sai um novo layout pro ControlBlog, resolvi falar um pouco sobre as redes de dispositivos. Hoje, na nossa planta, temos AS-i, DeviceNet, Profibus-DP e alguns dispositivos em ControlNet e em Ethernet/IP, embora essas duas últimas não sejam redes específicas para dispositivos de campo.

Neste post vou falar sobre o padrão AS-interface, ou simplesmente ASI, que é uma rede extremamente simples, composta de um barramento a dois fios, por onde trafegam dados e também a alimentação dos escravos.
A rede AS-i é composta de um Mestre, uma fonte especial, o cabo do barramento e os escravos.
O Mestre pode ser um cartão de comunicação de PLC (existem interfaces para diversos fabricantes, entre eles Siemens e Telemecanique) ou um gateway, como a maioria dos que usamos por aqui.
No nosso caso, os mestres são gateways que fazem ponte entre a rede DeviceNet e o barramento AS-i, isso porque não há, pelo menos oficialmente, interface AS-i para Controladores Rockwell Controllogix.

O cabo de barramento geralmente é um cabo chato polarizado (ele possui um chanfro que impede a ligação invertida) que é ligado em paralelo entre o mestre e a fonte.


A rede em si pode assumir qualquer topologia, como ilustrado na imagem abaixo:



Cada rede AS-i pode ter 31 escravos, endereçados de 1 a 31 (o máximo de escravos pode chegar a 62, mas vou detalhar isso mais adiante).

O datagrama enviado pelo mestre aos escravos é representado a seguir:

São 17 bits no total.

Os escravos respondem então com uma mensagem de apenas 7 bits, como representada abaixo:


Como só pode haver um mestre para cada rede, não é necessário um campo de endereçamento no datagrama de resposta dos escravos.

Assim, um ciclo inteiro de varredura de um nó escravo é feito com um tráfego de apenas 24 bits, com esse pequeno tráfego de rede é possível varrer todos os 124 I/Os possíveis na rede em 5ms, lembrando que a rede AS-i é determinística.

Como havia comentado anteriormente, o máximo de escravos pode chegar a 62. Se repararem no datagrama da mensagem do mestre o endereçamento é feito com 5 bits, o que permite apenas 31 nós. Isto no chamado padrão AS-i 2.0, posteriormente foi desenvolvido o padrão 2.1 que utiliza um dos bits de dados para endereçamento, dessa forma o campo de endereçamento do escravo passa a ter 6 bits, o que permite endereçar 62 nós. Porém quando endereçados desta forma o campo de dados passa a ter somente 3 bits, isto implica que cada escravo poderá ter até 3 saídas digitais no padrão 2.1.
Como o datagrama de resposta do escravo permanece inalterado no padrão 2.1 em relação ao padrão 2.0, os escravos continuam podendo ter 4 entradas digitais, mesmo na versão 2.1.
Outro ponto relevante é que com o número de escravos dobrado o tempo de scan do barramento também dobra, passando a ser de 10ms no padrão 2.1.

As grandes vantagens das redes AS-i sobre outras redes Fieldbus são a simplicidade e o baixo custo, tanto na implantação quanto na manutenção das mesmas.

Fontes:
AS-Interface International Association
Wikipedia

terça-feira, 22 de julho de 2008

Supervisorio iFIX

Boa tarde Galera.

Hoje estou fazendo treinamento do supervisório iFIX 4.0. É muito bom.

Qualquer dúvida aproveitem para comentar esta semana, que eu pergunto direto pro fornecedor !!!



Falow !!!

domingo, 20 de julho de 2008

Um math overflow impossível no SLC500?

Há algum tempo atrás, passei por um problema interessante com um processo controlado por um SLC500.

Os controladores da Rockwell têm o mau hábito de parar a execução do programa e entrar em estado de falha no caso de um overflow matemático, sabendo disso, quem programa Rockwell já conhece as alternativas, ou você protege todos os seus cálculos, verificando se seus divisores são maiores que zero nas divisões, se as somas não excederão a capacidade dos acumuladores etc. Ou, enganando a CPU com um unlatch para o overflow trap (OTU S:5/0) na última linha do programa principal (o Ladder 2), como na imagem abaixo (clique para ver no tamanho original).


isso faz com que o flag de overflow caia no final de cada ciclo de scan, como o controlador verifica os flags que podem o enviar para o estado de falha depois de executar a última linha, o método funciona sempre, ou quase, como foi no meu caso.

O incrível é que os piores problemas na Automação Industrial ocorrem de madrugada, coisas catastróficas acontecem sempre quando estamos dormindo. Numa dessas madrugadas, um SLC500 entra em falha devido à um math overflow, o instrumentista que estava no turno fez um download do backup daquele controlador e o processo voltou a funcionar. Fui ver o que provocou isso e, para ajudar, o SLC tem uma palavra de status que indica a linha onde ocorreu a útima falha, só que... o math overflow sempre acontece na última linha do ladder 2, legal né? Então vamos procurar a maldita instrução que estava provocando o overflow manualmente. Foi aí que tive a surpresa, no final do programa principal, bem na última linha, o OTU S:5/0 estava lá!
Como é que a CPU entrou em falha então?! Estaria a CPU possuída por algum espírito malígno? Fiquei preocupado. Mais cedo ou mais tarde a CPU paranormal poderia parar o processo novamente, e não era um processo qualquer, ele abastece seis linhas de produção, as mais críticas da fábrica! FODEU!
Comecei a procurar possíveis divisões por zero, e a proteger todas elas.
No mesmo dia a CPU entra em falha novamente, aproximadamente seis horas depois. Eu já havia verificado todas as divisões do programa. Comecei a checar as adições, até que achei isso (clique para aumentar):


Uma adição normal, né? Quase, ela está dentro de um ladder configurado como STI. Beleza, um ladder que é executado periodicamente, em intervalos de tempo definidos na palavra de status S:30 (o valor definido nessa palavra, multiplicado por 10 é o setpoint de intervalo do STI em milissegundos).


Essa adição estava dentro de um bloco STI porque se trata de um acumulador de volume que recebe pulsos de um flow-meter, que neste caso só conseguia enviar pulsos de 100ms, para que estes pulsos não fossem perdidos pelo scan do PLC, foi configurado um STI que acumula os pulsos e é executado a cada 50ms.
Agora vem o segredo, eu descobri isso depois da terceira parada no tal processo, depois de solucionar fiz diversos testes em bancada e consegui comprovar a causa.
O STI roda em intervalos de tempo fixos. No caso do meu ladder 70, a cada 50ms, independente do que a CPU estiver fazendo. Pois bem, existe uma probabilidade de esse intervalo coincidir com a execução da última linha do programa principal. O scan executa todo o programa principal, inclusive as subrotinas, antes da última linha ele faz o unlatch no overflow trap, aí toca o despertador do STI, dentro desse STI acontece um overflow, o scan termina e a CPU verifica que houve um overflow. FAULT! Sem dó, aliás, controladores não têm dó de ninguém, nem gerentes de planta.
Vale dizer que essa informação não está em nenhuma literatura da Rockwell, nem é dita em nenhum treinamento oficial.

Como resolver isso então, Batman?

Se você quiser continuar enganando sua CPU, inclua além do OTU S:5/0 do ladder 2, um OTU S:5/0 no final do ladder STI (foi o que eu fiz).
Senão você pode verificar todos os seus cálculos.

Simples, não? Nem tanto quando a fábrica pode parar a qualquer momento... :)
E mais uma vez ficou provado que paranormalidades "non ecxistem", como diria o padre Kevedo.

sábado, 12 de julho de 2008

Impressionismo Industrial

Tem coisas que não são mais novidades e ainda impressionam, assim como coisas que vemos todos os dias e continuam nos impressionando.

Na planta onde trabalho há dezenas de aplicações com servomotores. A precisão de posicionamento desses equipamentos é uma característica já há muito conhecida na automação industrial, mas que não deixa de impressionar.
Na Fispal Tecnologia desse ano o Andrei fez este videozinho:



Dá gosto de ver uma aplicação de montagem mecânica extremamente simples, que não exige quase nada do servoacionamento e ainda assim tira uns "olha que louco!" de quem vê.

Em tecnologia nada é definitivo.

Há, pelo menos, duas citações famosas no mundo da tecnologia que ilustram bem o título desse post.
Quando do lançamento do IBM PC, Bill Gates teria dito que "640Kb de memória de programa seriam o suficiente para qualquer um". Ele já negou ter dito isso várias vezes, mas há quem questione.
A outra é do Peter Norton, criador do Norton Antivirus e de outros tantos utilitários para PC. Ele supostamente disse em uma entrevista em 1988 que vírus de computador eram "lendas urbanas".

Assim como na TI, em automação industrial mentiras podem se tornar verdades em um piscar de olhos. Assim foi com a afirmação "redes ethernet não servem para controle", não faz muito tempo, talvez uns dois anos, alguns fornecedores de controladores ainda diziam que Ethernet poderia ser utilizada com sucesso na camada de informação, para troca de dados com supervisórios, ou em outras aplicações menos críticas.
Isso porque o padrão Ethernet não é uma rede determinística e sim probabilística, ou seja, a transmissão de pacotes entre a origem e o destino pode levar tempos diferentes a cada transmissão, ao contrário de redes dedicadas à controle ou à dispositivos, como a Controlnet e a DeviceNet.

Há cerca de duas semanas eu participei de um seminário promovido pela Rockwell Automation, sobre as tendências tecnológicas no mundo da automação. Lá ficou bem claro que com a evolução da Ethernet ela se tornou uma alternativa interessante para controle e também para dispositivos. A verdade é que com as altas velocidades atingidas pelos padrões atuais de Ethernet e com a utilização de alguns recursos, como QOS, VLANs, redundância de meio físico e o emprego de switches industriais, os tempos de resposta obtidos nesse tipo de rede sejam tão pequenos que as variações nos tempos de resposta se tornem desprezíveis, na prática.

Em outro evento, este produzido pela Yokogawa, um engenheiro chegou a dizer que a variação de Ethernet utilizada por eles é determinística. O conceito pode estar errado, mas segundo uma apresentação da Hirschmann, "em uma rede com tráfego controlado, na Ethernet os scantimes são tão rápidos, senão mais rápidos que nos sistemas de barramento atuais". O que faz com que, na prática, uma rede Ethernet, configurada com os devidos cuidados, tenha repetibilidade suficiente nos tempos de resposta.
O mais interessante nesse workshop da Yokogawa foi uma plataforma de controladores baseados em rede, chamada Stardom, com configurações via web-browser e um supervisório web-based, interessante para determinadas aplicações menores, aliás componentes com web-server embarcado estão ficando bem comuns, mais uma facilidade trazida pelo ambiente Ethernet.

Concluindo, redes Ethernet são uma realidade no controle de processos, o que cria uma nova demanda de conhecimento, já que uma rede mal-configurada com equipamentos inadequados pode transformar a solução em problema.