Skip to content

Repository files navigation

OpenLadder Studio

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.

Objetivos do projeto

  • 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.

Recursos atuais

  • 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.

Situação dos drivers

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.

Simulação de processo

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.

Arquitetura

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.

Estrutura do repositório

.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.

Identidade e interface

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.

Build

No Windows:

cd PC12_v2.1_Windows7_v3_portatil
BUILD_INTERFACE_MODERNA.bat

O 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.ps1

O instalador é preparado a partir de version.txt por:

.\scripts\PrepareInstaller.ps1

Isso gera installer/PC12Studio.build.iss, que é um arquivo temporário e não deve ser versionado.

Versionamento e releases

  • 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.md como fonte das notas.

Esse fluxo evita divergências como aplicativo em uma versão e instalador em outra.

Atualização do aplicativo

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.

Segurança operacional

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.

Desenvolvimento

Consulte:

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages