OpenLadder Studio é um ambiente de engenharia para programação Ladder, configuração e monitoramento de PLCs. O projeto começou pela compatibilidade com o WEG TP02/PC12, mas a arquitetura atual é orientada a múltiplos fabricantes, perfis de dispositivo e drivers.
A versão oficial do produto é definida em PC12_v2.1_Windows7_v3_portatil/version.txt. As releases são geradas automaticamente a partir da main após validação e build no GitHub Actions.
- oferecer um editor Ladder moderno e independente de fabricante;
- separar modelo Ladder, perfis de PLC, drivers e interface;
- suportar comunicação e monitoramento por drivers específicos e protocolos genéricos;
- manter escrita/download de programa explicitamente separados das funções de leitura;
- preservar compatibilidade com Windows 7 enquanto a arquitetura é modernizada;
- evoluir de forma incremental sem depender do PC12 como núcleo do produto.
- shell principal multi-PLC;
- editor Ladder com contatos, bobinas, ramificações, temporizadores, contadores, SET/RESET, bordas, funções e END;
- modelo Ladder universal e verificação de portabilidade;
- catálogo de controladores por fabricante, família e modelo;
- perfis personalizados Modbus RTU e Modbus TCP;
- persistência de conexão e mapa de memória por PLC;
- monitor Modbus com FC01, FC02, FC03 e FC04;
- leitura automática em múltiplos blocos;
- monitoramento periódico;
- histórico e tendências de sinais;
- exportação CSV;
- suporte de leitura e pesquisa para WEG TP02;
- PLC virtual com motor de varredura próprio e simulação de processo;
- biblioteca de seis plantas discretas simuladas, com falhas injetáveis;
- forçamento de pontos e execução passo a passo;
- atualizador e instalador próprios;
- modo foco do editor com
F11.
| Perfil | Comunicação | Monitoramento | Leitura de programa | Download Ladder |
|---|---|---|---|---|
| PLC virtual OpenLadder | Local | Sim | Sim | Sim, para o simulador |
| WEG TP02-60MR | Sim | Sim | Sim, via RBP | Não |
| Modbus RTU genérico | Sim | Sim | Não | Não |
| Modbus TCP genérico | Sim | Sim | Não | Não |
| WEG TPW-03 (com cartão RS-485) | Sim, via Modbus RTU | Sim | Não | Não |
| TECO SG2-20V (RS-485 integrado) | Sim, via Modbus RTU | Sim | Não | Não |
| TECO SG2-10HR-A | Não, o modelo não expõe Modbus | Não | Não | Não |
| Perfis Modbus personalizados | Sim | Sim | Não | Não |
| Outros fabricantes cadastrados | Planejado | Planejado | Planejado | Planejado |
A presença de um perfil no catálogo não significa que exista compilador ou protocolo de programação implementado para esse PLC. O PLC virtual é a exceção: ele executa o Ladder localmente, sem hardware.
O OpenLadder Studio executa o programa Ladder em um PLC virtual acoplado a uma planta simulada, para validar lógica antes de ligar equipamento real. A biblioteca traz seis processos discretos:
| Planta | O que exercita |
|---|---|
| Esteira com desviador | selo, intertravamento, contagem e temporizador retentivo |
| Silo com enchimento e descarga | chaves de nível, descarga condicionada e transbordo |
| Partida estrela-triângulo | comutação temporizada e tempo morto entre contatores |
| Cruzamento semafórico | sequenciador de fases e atendimento sob demanda |
| Elevador de carga de dois níveis | chamadas, intertravamento de sentido e ciclo de porta |
| Prensa com comando bimanual | cortina de luz, tempo de prensagem e anti-repetição |
Cada planta conta o que a lógica errada provoca: curto entre fases, conflito entre verdes, transbordo, colisão no fim de curso ou descida com a cortina de luz interrompida.
A simulação é fenomenológica: reproduz o comportamento observável com modelos físicos plausíveis — rampa de motor, tempo de curso de pistão, atraso de sensor, histerese e atraso de transporte — e não a identificação de um equipamento específico.
Abrir pelo shell em Ferramentas → Simulação de processo, ou como ferramenta separada por INICIAR_SIMULADOR.bat.
Detalhes em docs/PROCESS_SIMULATION.md.
Fluxo conceitual:
Interface
↓
Serviços de aplicação
↓
Modelo Ladder / domínio
↑
Drivers e infraestrutura
↓
PLC
A regra de dependência é detalhada em docs/SOFTWARE_ARCHITECTURE.md. A arquitetura específica de drivers também está documentada em docs/PLC_DRIVER_ARCHITECTURE.md.
.github/workflows/ CI, build e publicação de releases
assets/branding/ identidade visual e fonte vetorial do ícone
docs/ arquitetura, drivers, UI e pesquisa TP02
installer/ template do instalador Inno Setup
scripts/ validações e preparação de release
src/OpenLadderStudio.Core/ núcleo independente de interface
tests/OpenLadderStudio.Core.Tests/ autotestes do núcleo e do formato de projeto
PC12_v2.1_Windows7_v3_portatil/ fontes atuais, ferramentas e compatibilidade legada
CHANGELOG.md histórico de versões
CONTRIBUTING.md regras de contribuição
O diretório PC12_v2.1_Windows7_v3_portatil ainda contém uma mistura histórica de fontes e compatibilidade. Ele é tratado como dívida técnica controlada. A migração gradual para src/ começou pelo codec .pladder do núcleo e está descrita na documentação de arquitetura.
A interface tem dois temas — escuro (padrão) e claro —, escolhidos em Exibir → Tema. Nenhum dos dois usa preto puro ou branco puro em superfície grande. Todas as janelas, inclusive editor, simulador, monitor Modbus e ferramentas TP02, leem a mesma paleta central, então o produto não mistura temas entre telas.
O destaque é o azul OpenLadder e as cores seguem função (azul para arquivos e controlador, âmbar para abrir, turquesa para salvar e monitorar, violeta para histórico e configuração, vermelho para remoção), com uma calibragem por tema para manter contraste. O ícone oficial combina uma escada Ladder branca, um "O" em âmbar e um ponto de estado verde sobre fundo azul-grafite arredondado, sem texto, para permanecer legível em tamanhos pequenos.
O .ico é gerado em múltiplas resoluções: 16, 24, 32, 48, 64, 128 e 256 px.
As regras visuais estão em docs/UI_GUIDELINES.md.
No Windows:
cd PC12_v2.1_Windows7_v3_portatil
BUILD_INTERFACE_MODERNA.batO build compila e executa OpenLadderCoreTest.exe e OpenLadderSimTest.exe. Uma falha no formato de projeto, no motor de varredura ou na planta interrompe o build.
Antes do build/release, a estrutura pode ser validada com:
.\scripts\ValidateProject.ps1O instalador é preparado a partir de version.txt por:
.\scripts\PrepareInstaller.ps1Isso gera installer/PC12Studio.build.iss, que é um arquivo temporário e não deve ser versionado.
version.txté a fonte principal da versão;- o shell lê essa versão durante o processo de build;
- o template do instalador recebe a mesma versão automaticamente;
- o CI valida a estrutura antes de compilar;
- a release usa
CHANGELOG.mdcomo fonte das notas.
Esse fluxo evita divergências como aplicativo em uma versão e instalador em outra.
Durante uma atualização, o instalador pode fechar o OpenLadder Studio para substituir os arquivos. Se o aplicativo estava aberto antes da instalação, ele é reaberto ao final. Se estava fechado, a atualização silenciosa não força sua abertura.
As ferramentas modernas permanecem conservadoras quanto a operações de escrita. Comandos de RUN/STOP, limpeza de memória, alteração de saídas e download de programa só devem ser habilitados após implementação e validação específica no hardware real.
Consulte:
CONTRIBUTING.md— fluxo de contribuição e regras de código;CHANGELOG.md— histórico das versões;docs/SOFTWARE_ARCHITECTURE.md— organização e plano de evolução;docs/UI_GUIDELINES.md— identidade e padrões de interface;docs/PROCESS_SIMULATION.md— PLC virtual, plantas simuladas e semântica do motor de varredura.