quinta-feira, 22 de dezembro de 2011

do CCM com EtherNet/IP (Parte 3)

Talvez nos posts anteriores, eu tenha esquecido de comentar os dados técnicos. Resenhas são importantes para que esse blog não seja simplesmente um apanhado geral das referências obtidas no Google.

4. Cabeamento
O que postar sobre cabeamento EtherNet/IP? Quem sabe comprimento, velocidade, categoria, detalhes de instalação e custo. Quer dizer, custo não, gostaria de terminar esse post hoje.

4.1 Comprimento
Começando do óbvio, como sempre, o comprimento não pode exceder 100 metros entre 2 dispositivos quaisquer, isso para os cabos elétricos 10Base-T, 100Base-TX e 1000Base-TX. Para a tabela completa de comprimento máximo para cada tipo de cabo, usar como referência o documento “Network Infrastructure for EtherNet/IP: Introduction and Considerations (Pub 35)” seção 4.4.1 “Length of Run and Category of Cable”.

Para EtherNet, o comprimento máximo para os cabos elétricos é independente da velocidade da rede! Porém, isso passa a não ser tão inovador se analisarmos o capítulo “Determine the Maximum Trunk Line Distance” do “Planning and Installation Manual – DeviceNet Cable System” que restringe o comprimento máximo do cabo fino DeviceNet a 100 metros independente da velocidade (100kbps, 250kbps ou 500kbps).

Não que essa série de postagens enfatize comparações, mas na primeira parte eu escrevi alguns pontos que eu deveria suportar ao longo dos posts seguintes: Para rede DeviceNet existe restrição para o somatório dos comprimentos das ramificações de acordo com a velocidade adotada (consultar a seção “Determine the Cumulative Drop Line Length” do “Planning and Installation Manual – DeviceNet Cable System” para mais detalhes). Só para termos uma ideia, caso o somatório dos comprimentos das ramificações seja maior que 42 metros a velocidade de 500kbps não pode ser adotada, levando toda a rede para 250kbps. Apesar de 42 metros ser uma distância considerável para totalização de ramificações, EtherNet/IP não impõe essa  restrição, como também não estabelece comprimento mínimo de 1 metro, caso Profibus-DP.
 
4.2 Categoria
Agora, algumas palavras sobre a categoria. Cabos CAT-5E com 4 pares permitem tráfego de 1 Gigabit Ethernet e Power-Over-EtherNet (PoE, IEEE 802.3af). Isso mesmo, transmissão de energia elétrica pelo par trançado. É claro que essa transmissão está limitada a uma baixa potência, 12.95W (Tensão em 48V e corrente máxima de 400mA). Seria interessante se continuássemos alimentando os relés inteligentes através da rede (como já realizado pela DeviceNet como o E3 Plus, por exemplo). Realizei algumas pesquisas e cheguei às seguintes informações:
  • Nenhum produto Rockwell, até a data dessa publicação, é compatível com PoE. Na seção Referências existe um link para essa nota;
  • A Siemens lançou produtos compatíveis com o IEEE 802.3af como access points e câmeras IP, porém nada foi encontrado relativo à CCMs;
  • A Hirschmann, por sua vez, possui um switch de baixo custo preparado para PoE, o SPIDER II 8TX PoE.
Ainda sobre categorias, cabos CAT-5E com 2 pares permitem a instalação de conectores M12 (IP65 e IP67, embora não sejam comuns para acionamentos em centros de controle de motores), e além disso reduzem as chances de ruídos. É importante lembrar também que cabos cuja categoria esteja abaixo de CAT-5E já não são recomendados pela norma EIA/TIA.

Com relação à blindagem, ainda não existem regras rígidas para utilização, apesar dos Shielded Twisted Pairs (STP) serem default para instalações industriais europeias. O que existe, de fato, é uma série de recomendações sobre aterramento com o intuito de evitar “Ground Loops”.

Referências:
1. Network Infrastructure for EtherNet/IP: Introduction and Considerations (Pub 35)
2. Planning and Installation Manual - DeviceNet Cable System
3. Hirschmann SPIDER II 8TX PoE
4. Rockwell position on use of Power on Ethernet (Poe Ethernet Switch) with our Ethernet products

quarta-feira, 14 de dezembro de 2011

do CCM com EtherNet/IP (Parte 2)

3. Topologia
Já que o óbvio precisa ser dito, vamos logo às considerações banais sobre topologia.

Quando o número portas necessárias para os acionamentos, os controladores e as remotas for reduzido (não esquecendo a recomendação de 20% de reserva e possibilidade de expansão do switch), o sistema não for considerado crítico (complicado escutar isso nos dias de hoje) a topologia recomendada será estrela. Acredite, existem diversas vantagens para essa adoção, a principal seria a facilidade para detecção de problemas relacionados ao cabo e conexões. Em contrapartida, uma simples falha nessa infraestrutura implicaria, invariavelmente, na parada do equipamento/acionamento, ponto que poderia ser contornado em outra topologia.

Quando o projeto envolver um CCM crítico para a operação, uma topologia de rede que permita redundância (o anel, o precioso) será aconselhada. Na ocasião de um problema localizado no meio físico, o sistema é capaz de redirecionar os pacotes e impedir uma parada devido à erro de comunicação. Essa configuração permite a especificação de um switch com capacidade e custo inferior, uma vez que o consumo de portas será menor. Porém, o valor economizado no switch, certamente, não vai superar o valor dispendido por dispositivos da família 1783-ETAP que permitem a conexão de relés inteligentes, inversores e demais acionamentos em anel.

De qualquer forma um switch gerenciável será necessário para configuração do anel, caso contrário um loop será fechado e a comunicação entre os dispositivos será impossível após alguns segundos. Poxa vida, não vai ser esse o destino daquele switch xing-ling!

Porém, uma solução concebida para trazer tranquilidade aos integradores e mantenedores bem como alta disponibilidade para o sistema de automação pode gerar algumas dores de cabeça se alguns conceitos forem ignorados:

Por padrão o Rapid Spanning Tree Protocol, doravante RSTP, leva 3 vezes o Hello Time (padrão 2 segundos) para descobrir mudanças na arquitetura (convergence time) e algumas centenas de milissegundos para identificar uma falha no anel e redirecionar os pacotes (atenção para o nome: rápido), o que é aceitável para uma rede de computadores, mas uma eternidade para os sistemas de automação, onde remotas, módulos e dispositivos realizam transferência de dados na casa de poucos milissegundos. Em outras palavras, a planta já estará parada quando o RSTP contornar a situação. Portanto, a topologia indicada para prover alta disponibilidade é, de fato, bem suscetível, e nessa hora os engenheiros se perguntarão por que não optaram pela topologia estrela.

É... Especificar uma arquitetura de automação baseada em Ethernet é, de longe, mais complexo do que conectar meia dúzia de computadores em um switch.

A diminuição do Hello Time tanto não é capaz de resolver essa fragilidade (mínimo 1 segundo), como também piora o desempenho, uma vez que aumenta drasticamente o número de pacotes BPDU.

Para solucionar esse problema, a Rockwell lançou o Device Level Ring (DLR), um protocolo de camada 2 (por isso transparente para os switches gerenciáveis e protocolos de camadas superiores como o IP e o TCP) que reduz o tempo de recuperação para menos de 3ms. Uau! Para alcançar esse tempo, o DLR requer que todos os dispositivos do anel tenham a caraterística “embedded switch technology” e pelo menos duas portas (óbvio, estamos configurando um anel). O 1783-ETAP, mencionado acima, está preparado! Essa solução requer, também, pelo menos um Supervisor DLR, dispositivo capaz de detectar falhas, um 1756-EN2TR (módulo EtherNet/IP para controladores da família 1756). Dispositivos não-DLR podem ser inseridos no anel, contudo, isso levará a um tempo de recuperação maior.

Se alguém souber como a Siemens (ProfiNet) resolve esse  tipo de problema, por favor, comente esse post.

Mais sobre topologia pode ser conferido nos links de referência. Espero ter confundido bastante gente.

Referências:

1. Catálogo Industrial Ethernet Switches and Media
2. Understanding Rapid Spanning Tree Protocol (802.1w)
3. Introduction to Device Level Ring
4. EtherNet/IP Network Configuration

segunda-feira, 12 de dezembro de 2011

do CCM com Ethernet/IP (Parte 1)

Durante esse curto tempo de blog, eu percebi que se deixar para publicar mais tarde, o post jamais é escrito. Portanto, mesmo que não sejam tão ricos em detalhes, esses são os pontos que estão alugando a minha inquieta mente.

Esse é o primeiro CCM Inteligente com rede Ethernet/IP que especifico, por isso, esse post quase foi intitulado "do Primeiro de Muitos", uma recorrente alusão ao Worms.

Vou lançar mão da minha analogia favorita para redes de campo. Talvez cause polêmica, e, finalmente, apareça algum comentário no blog: DeviceNet e Profibus-DP estão para as redes antigas assim como ProfiNet, EtherNet/IP e Foundation Fieldbus HSE estão para as redes modernas.

Com relação ao meio físico, "antigas" refere-se às redes de computadores que usavam um cabo coaxial. Um resistor de terminação era fundamental e no caso de falha no barramento (BUS), todos os dispositivos interrompiam a comunicação.

Com relação à velocidade, "antigas" refere-se às taxas de transmissão obtidas nas redes de computadores que usavam um cabo coaxial, máximo de 20Mbps, o que é completamente inviável nas aplicações modernas.

Da mesma forma, a limitação de dispositivos, o cálculo de fontes 24Vcc para redes de campo e a adoção de OLM estão fadados ao desaparecimento.

Para aqueles que insistem em um argumento baseado no determinismo das redes, vale lembrar que existem mecanismos disponíveis em switches gerenciáveis, como VLAN, QoS Traffic Prioritization e IGMP Snooping, para atender os requisitos de desempenho.

Chega de enrolar. Para a especificação do CCM com Ethernet/IP alguns fatores devem ser levados em consideração:

1. Questão de conceito
Não confundir Ethernet (protocolo padronizado pelo IEEE para controle de acesso ao meio - camada 2 do modelo OSI) com Ethernet/IP (Industrial Protocol: protocolo de comunicação padronizado pela ODVA cuja pilha possui CIP, TCP ou UDP, IP e EtherNet).

2. Switch com Gerenciamento de Tráfego
Segundo, o documento Network Infrastructure for Ethernet/IP, se a arquitetura possuir apenas um controlador e um baixo número de dispositivos (menor que 10) um switch não gerenciável é suficiente. Porém, se houver um número alto de dispositivos (maior que 10) ou múltiplos controladores, um switch com IGMP Snooping (configuração que limita a banda para tráfego multicast) é requerido. O emprego de VLAN somente é aconselhado, na especificação, para arquiteturas de automação com múltiplas áreas envolvidas.

2.1. Minha Contribuição
Se a configuração possuir um sistema SCADA ou IHM uma dessas configurações é indicada:
  • Dois cartões EtherNet/IP: um para interface com os acionamentos e outro para interface com o sistema SCADA. Geralmente, um módulo ethernet é mais barato que um switch gerenciável.
  • Um Switch gerenciável: para os casos em que o controlador não permitir mais de um módulo ethernet, o CompactLogix 1769-L35E é um exemplo. Nessa solução, a implementação de VLAN é fundamental para boa performance do sistema SCADA ou IHM.
Por mais implícito que esteja, é interessante lembrar que o integrador/manutenção precisa realizar o backup das configurações realizadas nos switches com o intuito de tornar menos traumática a substituição dos ativos.

No próximo post detalhes de topologia, cabeamento e custo serão abordados. Não percam!

Referências:
1. Network Infrastructure for EtherNet/IP: Introduction and Considerations (Pub 35)
2. EtherNet/IP Media Planning and Installation Manual (Pub 138)

terça-feira, 6 de dezembro de 2011

da Criação de ActiveX para SCADA (Parte 1)

1. ActiveX, que [coisa] é essa?
ActiveX é um modelo para construção de componentes padronizado pela Microsoft.  Esse padrão define como a interface (interação e comunicação) entre controle e container (sistema que hospeda o componente) deve ser realizada.

2. Não entendi [coisa] nenhuma, qual é o objetivo?
Uma vez que os principais sistemas de supervisão (InTouch, WinCC, FactoryTalk, iFix) desempenham o papel de container, a reutilização é o primeiro objetivo para construção de ActiveX, ou seja, o esforço de criação é realizado uma única vez e o componente pode ser reaproveitado nos demais sistemas SCADA.

3. Ferramenta (VB6 versus .NET)
Esse post é direcionado para criação de componentes ActiveX em Visual Basic 6. Algumas pessoas questionarão a velhice do VB6. Para estas a minha resposta: o VB6 ainda resolve muitos problemas na automação, mais especificamente, nos sistemas de supervisão. No caso .NET o mesmo desenvolvimento é, definitivamente, mais complexo, uma vez que deve ser construída uma DLL COM em vez de um OCX (pode ser tema de outro post).

4. Desenvolvimento
Para acompanhar esse post será necessário uma máquina virtual com o Visual Basic 6 Service Pack 6 instalado, dessas que muitos, porém nem todos, já providenciaram junto ao revendedor não autorizado Microsoft.
A ideia será criar um controle que realize as operações de uma válvula On/Off. Na prática, esse componente deverá ser utilizado apenas para fins didáticos.

4.1. Criação do Projeto
Seria muito enfadonha a elucidação tela-a-tela para a construção de um ActiveX e não retornaria resultados expressivos, dessa forma, visando maximizar a produção de posts, o método sucinto de explicação já amplamente praticado pelos profissionais de meu convívio será utilizado. Da mesma maneira, as rotineiras expressões “como exibe a figura abaixo”, “como mostra a figura abaixo”, “como apresentado na figura abaixo” serão evitadas.

Passo 1: Na interface “New Project” selecione “ActiveX Control”.

Passo 2: Renomear o projeto para IHMControls.


Passo 3: Renomear o controle para “IHMFlowValve”.


Passo 4: Adicionar e renomear um controle Shape;


Passo 5: Redimensionar o formulário para o tamanho exato do componente.

Passo 6: Adicionar o código que redimensiona, automaticamente, o shape de acordo com o tamanho do formulário configurado pelo usuário final. E, importante, não se deixe confundir pelas longas frases deste post, o lado Saramago será largamente utilizado.

4.2.  Propriedades
As propriedades CorAberta e CorFechada deverão ser criadas para permitir a ferramenta SCADA definir as cores associadas aos estados da válvula sem a necessidade de modificação do código-fonte do ActiveX. 
Para realização dessa etapa, adicionar a lógica abaixo. Repare a dupla de procedimentos (Get e Let) para cada propriedade. Get é responsável por fornecer ao container (SCADA) o valor armazenado da propriedade, enquanto Let é responsável por receber do container (SCADA) o valor desejado para a mesma propriedade.


4.3. Métodos
Análogo às características (propriedades) da válvula, existem as ações (métodos) realizadas pelo componente. Para implementação dos métodos Abrir e Fechar, adicionar a lógica abaixo. Repare que o escopo desses métodos precisará ser público, uma vez que deverão ser chamados pelo sistema de supervisão. Para verificação do estado da válvula duas propriedades somente leitura (não possuem Let) serão adicionadas.


4.4.  Eventos
Para finalizar a comunicação do componente com o container, deverá ser adicionado o evento OnChange, lançado sempre que a válvula modificar seu estado. Essa é a maneira que o controle divulga ao sistema de supervisão um acontecimento relevante em seu interior. Repare que a implementação dos métodos Abrir e Fechar deverá ser modificada.


Para concluir o desenvolvimento do controle, adicionar o estado inicial da válvula no método nativo Initialize.

4.5.  Compilação
Para compilar o projeto e obter o arquivo OCX, proceder com a operação Make disponível no menu File.

4.6.  Registro
Para registrar o componente, siga os seguintes passos:
1. Copiar o arquivo com extensão OCX gerado no item anterior para a pasta C:\IHM\Componentes;
2. Criar um arquivo com extensão BAT, com o conteúdo:
regsvr32 C:\IHM\Componentes\IHMControls.ocx /s
pause
3. Copiar a pasta e executar o arquivo de lote em todas as estações de operação e engenharia que usarão o controle produzido.

5. ActiveX no Wonderware InTouch
Para usar o controle no Wonderware InTouch, proceda de acordo com as figuras e passos abaixo:
Passo 1: Adicionar o ActiveX no InTouch local, repare que essa configuração deve ser realizada por estação de engenharia, não para cada projeto InTouch, ou seja, se outra aplicação InTouch for criada na mesma máquina, esse controle já estará disponível.


Passo 2: Selecionar e instalar o item IHMControls.IHMFlowValve;

Passo 3: Adicionar uma instância do controle na Window, através do clique no ícone destacado.


Passo 4: Calma, o controle estará preto porque o valor das propriedades CorAberta e CorFechada é 0, entretanto, esse conteúdo poderá ser modificado associando uma tag através da interface que o InTouch disponibiliza, ou atribuindo um literal através de um script.
Tópico especial sobre cores: para configurar o número das cores converter os três bytes (R, G e B; sendo R o byte menos significativo e B o byte mais significativo) para decimal.

Passo 5: Para tratar a mudança de estado da válvula, um script do InTouch poderá ser associado ao evento OnChange do controle, criado previamente.

Passo 6: Através da interface de implementação de scripts do InTouch é possível visualizar todas as propriedades e métodos dos componentes, até mesmo as somente leitura.

Passo 7: Para testar a chamada dos métodos, adicionar dois botões Abrir e Fechar nativos do InTouch e acrescentar o código abaixo.

6. ActiveX no Siemens WinCC
Para usar o controle no Siemens WinCC, proceda de acordo com as figuras e passos abaixo:

Passo 1: Acessar a interface para adição de componentes através do frame Object Palette.

Passo 2: Selecionar e adicionar o controle IHMControls.IHMFlowVale à paleta de objetos.

Passo 3: Modificar o valor das propriedades através da interface disponibilizadas pelo WinCC.


Passo 4: Será possível, também, associar um script (VBS, C) ao evento de modificação de estado da válvula. Quanta simplicidade, se imaginarmos alemães programando!

Passo 5: Para testar a chamada dos métodos, adicionar dois botões Abrir e Fechar nativos do WinCC e acrescentar o código abaixo.

segunda-feira, 5 de dezembro de 2011

da Criação de ActiveX para SCADA (Parte 2)

7. ActiveX no Rockwell FactoryTalk
Para usar o controle no Rockwell FactoryTalk, proceda de acordo com as figuras e passos abaixo:

Passo 1: Adicionar o componente IHMControls.IHMFlowValve através do ícone e interface em destaque.

Passo 2: Modificar o valor das propriedades através do Property Panel disponibilizado pelo FactoryTalk. Atenção para o conteúdo de ExposeToVBA, deverá ser VBA Control, para que scripts implementados em VBA sejam capazes de acessar o componente (propriedades, métodos e eventos).

Passo 3: Para testar a chamada dos métodos, adicionar dois botões Abrir e Fechar nativos do FactoryTalk, outra vez, atenção para a exposição a códigos VBA.

Passo 4: Acrescentar o código abaixo na rotina de tratamento do clique dos botões.

8. ActiveX no Microsoft Excel
Para usar o controle no Microsoft Excel, proceda de acordo com as figuras e passos abaixo:

Passo 1: Habilitar a guia Desenvolvedor na personalização da faixa de opções.


Passo 2: Habilitar todas as macros e marcar o checkbox para o Excel confiar no acesso ao modelo de dados de objeto do projeto do VBA na configuração da central de confiabilidade. Após essas modificações será necessário fechar o Excel e abri-lo novamente.

Passo 3: Acessar o Visual Basic for Application através da guia desenvolvedor recém-adicionada.

Passo 4: Inserir um formulário no projeto VBA.

Passo 5: Através da caixa de ferramentas acessar a interface para adicionar o famigerado controle.


Passo 6: Selecionar o IHMControls.IHMFlowValve na lista de controles registrados no sistema operacional.

Passo 7: Adicionar uma instância do componente ao formulário, modificar as propriedades CorAberta e CorFechada para 65280 (Verde) e 255 (Vermelho), respectivamente, e rodar a aplicação.

Passo 8: Parar a aplicação e observar o conteúdo das propriedades CorAberta e CorFechada. Meu Deus! Depois de tanto apanhar para converter os bytes RGB para um long, eles foram perdidos!

9. A Mala
Achou que já sabia tudo sobre ActiveX? Quem não ler até no final será duplamente penalizado.
Na verdade existem duas rotinas de armazenamento de propriedades que foram omitidas durante o desenvolvimento, para corrigir essa falha e evitar que os valores definidos em tempo de desenvolvimento sejam descartados, adicionar a lógica abaixo ao código do componente (Visual Basic 6).


Verificar se a opção Project Compatibility está marcada no quadro de compatibilidade de versões, dentro da interface de configuração do projeto. Depois dessa modificação, recompilar o projeto e registrar nas máquinas, pronto.

Para testar a chamada dos métodos, adicionar dois botões Abrir e Fechar nativos do Microsoft Excel.

Para o Gran Finale, adicionar a seguinte lógica:

terça-feira, 22 de novembro de 2011

da Configuração de rede ad hoc sem fio

1. Introdução

Durante o desenvolvimento do projeto detalhado para a Companhia Brasileira de Metalurgia e Mineração em Araxá-MG, uma vez que não estávamos no escritório da IHM, surgiu a necessidade de montarmos um servidor para compartilhamento de documentos.

A primeira solução usava a rede sem fio do cliente. A preocupação inicial estava relacionada à segurança dos dados, afinal, várias empresas concorrentes utilizavam a mesma infraestrutura. A segunda, preponderante, estava ligada à baixa velocidade para transação das operações (leitura e escrita de documentos). Esses dois pontos nos levaram a adoção de outra solução para o problema, o uso de rede ad hoc.

Segundo a Microsoft, uma rede ad hoc é uma conexão temporária entre computadores e dispositivos usados para uma finalidade específica, como compartilhamento de documentos e conexão com a internet durante uma reunião ou jogos de computador com vários jogadores.

2. Configuração

Para criação de uma rede ad hoc sem fio proceda de acordo com os seguintes passos:

Passo 1: Abrir a Central de Rede e Compartilhamento e clicar na ação “Configurar uma nova conexão de rede”, como mostra a figura abaixo.

Passo 2: Selecionar a opção “Configurar rede ad hoc sem fio (computador a computador)” e avançar.

Passo 3: Em seguida a Microsoft explana sobre as redes ad hoc, faz recomendações com relação à distância dos computadores e alerta para a desconexão da rede sem fio atual, se existir.


Passo 4: Configurar o SSID da rede sem fio, bem como a chave e o tipo da segurança, em seguida marque a caixa de seleção “Salvar esta rede”.


Importante: O Windows XP apresentou problema para conexão à rede Ad hoc com autenticação WPA2, funcionando bem com segurança baseada em WEP.

Passo 5: Caso o compartilhamento da conexão com a Internet seja necessário, essa operação poderá ser realizada a partir do link disponibilizado na próxima tela.

Passo 6: Verificar o status da rede recém-criada.

Passo 7: Caso um servidor DHCP não esteja disponível para fornecer um endereço IP, será necessário fixar um nas configurações da placa de rede. Para isso abrir a Central de Rede e Compartilhamento e clicar na opção “Alterar as configurações do Adaptador”. Em seguida, realizar a configuração como mostra a figura abaixo.

Passo 8: No computador secundário será necessário conectar à rede sem fio IHM-CBMM com a mesma chave definida no passo 4.
Passo 9: Compartilhar a pasta de documentos, de forma convencional, através do Windows Explorer.
Passo 10: Será necessário cadastrar um usuário de serviço (em cada máquina) com as devidas permissões caso os computadores envolvidos não estejam relacionados a um domínio.
Passo 11: Atenção para as configurações de Firewall e Antivírus, elas são cruciais para o sucesso das operações.
3. Referências

sábado, 12 de novembro de 2011

do Wake On Lan

1. Introdução

Muitas vezes, em plataformas de automação, é necessário definir uma sequência de subida de servidores.
Um exemplo clássico é a necessidade de restabelecer os controladores de domínio antes da partida dos servidores SCADA, em caso de queda de energia.
Para tornar essa tarefa automática pode-se utilizar um recurso chamado Wake On Lan, que permite ligar um computador através de um frame ethernet.

2. Preparação

Para realizar essa configuração, no setup dos controladores de domínio (os servidores que têm prioridade no restabelecimento) deve-se selecionar a opção On/Immediate para o campo AC Power Recovery (Exemplo de campo para servidores da Dell), já nos servidores SCADA (os servidores que deverão esperar) deve-se selecionar a opção Off, afinal, essas máquinas serão acordadas através da rede.

3. Aplicação Java

Para enviar o frame ethernet de "Acorda Bela Adormecida", uma tarefa pode ser agendada no servidor controlador de domínio usando o código-fonte obtido no site Jibble .
Deve-se proceder da seguinte forma:

Passo 01: Instalar o Java SE Development Kit disponível em http://www.oracle.com/technetwork/java/javase/downloads
Passo 02: Inserir o caminho dos executáveis javac.exe e java.exe na variável de ambiente PATH com a seguinte linha de comando:
SET PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_01\bin



Passo 03: Compilar o fonte WakeOnLan.java com a seguinte linha de comando: javac C:\WakeOnLan.java


Passo 04: Obter o MAC Address da máquina que deverá ser acordada. Disponível através da linha de comando: ipconfig /all


Passo 05: Criar um arquivo de lote contendo a seguinte linha de comando: java C:\WakeOnLan [endereço IP de broadcast] [endereço MAC]. Exemplo: java C:\WakeOnLan 128.1.255.255 B8-AC-6F-C6-1C-43



Passo 06: Agendar uma tarefa para o arquivo de lote recém-criado ser disparado assim que o sistema operacional do controlador de domínio for restabelecido.