OpenPLC
A stack open source mais usada na automação industrial.
Uma IDE IEC 61131-3 moderna, um runtime de produção e o compilador que liga os dois.
- 2014
- Open source desde
- 1 mi+
- Downloads
- 150+
- Países
- IEC 61131-3
- Suporte à Edição 3
Seguro por concepção, não por obscuridade
Código público desde 2014, endurecido por todo mundo que já o implantou.
Obscuridade não é segurança
Um runtime fechado não é mais seguro por ser ilegível, apenas menos examinado. Os defeitos continuam lá, e o fabricante é o único que pode procurá-los.
Auditável na fonte
Seu time de segurança lê o código que roda o seu processo, não uma folha de dados descrevendo ele. O nosso também pode ler, e o de todo mundo.
Comprovado em campo
1 mi+ downloads em 150+ países. Mais hardware, mais casos de borda e mais maus-tratos do que qualquer programa de laboratório conseguiria reproduzir.
Corrigido às claras
Os problemas são relatados, corrigidos e revisados em público. Você vê o que estava errado, quando foi corrigido e exatamente o que mudou.
Três partes, uma toolchain
Você escreve a lógica no Editor, o StruC++ compila e o Runtime executa. Escolha uma para ver em detalhe.
Baixe o OpenPLC Editor
O ambiente de programação de CLP open source para automação industrial. Disponível para Windows, macOS e Linux.
O editor traz um simulador de CLP embutido, então você roda e depura Ladder, ST e FBD com um debugger ao vivo antes de envolver qualquer hardware.
Novidades
CoPilot no editor
O Autonomy CoPilot também trabalha no editor: ele completa o código enquanto você digita e, no chat, você pede o que precisa, ele escreve e você revisa e aprova o resultado antes de ele entrar no seu projeto.
Entre com a conta do Autonomy Edge
Entre com uma conta do Autonomy Edge quando quiser, traga para o editor os projetos que você guarda lá e mantenha o versionamento do seu código enquanto trabalha.
Executando a partir do código-fonte
Pré-requisitos
Git
Controle de versão
Node.js x64
Versão >= 20
Passo a passo
1. Clone o repositório
git clone https://github.com/Autonomy-Logic/openplc-editor.git cd openplc-editor
2. Instale as dependências
npm install
3. Execute o servidor de desenvolvimento
npm run start:dev
O compilador de Structured Text por trás do OpenPLC v4. IEC 61131-3 Edição 3 completa, compilada para um C++17 que dá para ler.
O Structured Text vira C++17 idiomático, com classes de verdade, métodos virtuais e templates, então você consegue depurar, testar e incorporar o resultado em um projeto C++ existente.
IEC 61131-3 Edição 3
Um subconjunto amplo da Edição 3, mais as extensões comuns do CODESYS: POINTER TO, literais tipados e tipos de 64 bits, com importação direta de bibliotecas CODESYS.
Orientação a objetos de verdade
Classes, métodos virtuais, EXTENDS e IMPLEMENTS, modificadores de acesso, declarações abstratas e finais, e propriedades com acessores GET e SET.
Testes unitários escritos em ST
Um framework de testes embutido com SETUP e TEARDOWN, mocks, asserções e avanço de tempo. Não precisa de hardware de CLP para rodar.
REPL interativo
Percorra um programa compilado passo a passo, defina entradas, inspecione variáveis e leia o ST e o C++ gerado lado a lado.
Biblioteca padrão
Mais de 80 funções matemáticas e utilitárias, além de temporizadores, contadores e detectores de borda implementados em ST e compilados como o seu próprio código.
Zero dependências de runtime
Um compilador de binário único e um runtime C++ header-only que compila com g++, clang++ ou MSVC.
Licenciamento
O compilador é GPL-3.0. O runtime C++ e as bibliotecas padrão são GPL-3.0 com Runtime Library Exception, então os programas que você compilar podem ser distribuídos sob a licença que você escolher.
Arquitetura moderna
Arquitetura completamente redesenhada, criada para as necessidades da automação industrial moderna.
Execução em tempo real
O escalonamento com prioridade SCHED_FIFO entrega ciclos de varredura determinísticos para um controle confiável.
Depuração via WebSocket
Interface segura de depuração via WebSocket permite inspecionar e forçar variáveis em tempo real.
Sistema de plugins
Sistema de plugins extensível com suporte a plugins em Python e C/C++ para I/O de hardware e protocolos ICS.
Multiarquitetura
Se roda Linux, roda o OpenPLC Runtime. Suporte completo a múltiplas arquiteturas.
Segurança integrada
Criptografia TLS em todas as comunicações e autenticação baseada em JWT desde a concepção.
O melhor dos dois mundos
Open source para aprender, testar e desenvolver. A Autonomy Edition para quando ela tiver que rodar uma planta.
Community Edition
Para aprender, testar e desenvolver. O mesmo runtime que a comunidade roda há uma década.
- Código-fonte completo, sem recursos bloqueados
- MIT para o runtime, GPL-3.0 para o editor e o compilador: use, modifique e redistribua
- Suporte pelo fórum da comunidade
- Amplamente usado em pesquisa, ensino e desenvolvimento
Autonomy Edition
Para produção de missão crítica: segurança construída segundo a IEC 62443, drivers e protocolos industriais proprietários, e suporte por trás.
- Uso comercial e em produção
- Construído segundo os padrões de segurança IEC 62443-4-1 e IEC 62443-4-2
- Drivers de dispositivo e protocolos de comunicação industrial proprietários
- Suporte comercial e manutenção pela Autonomy
Instalação
Escolha o método de instalação que melhor se adapta ao seu ambiente.
Instalação nativa no Linux
Para o melhor desempenho em sistemas Linux, instale o runtime de forma nativa.
Clonar e instalar
git clone https://github.com/Autonomy-Logic/openplc-runtime.git cd openplc-runtime sudo ./install.sh
O script de instalação detecta automaticamente a sua distribuição Linux, instala todas as dependências necessárias, cria os ambientes virtuais Python, compila o runtime e cria um serviço systemd que inicia e gerencia o runtime automaticamente.
Após a instalação, o runtime escuta na porta 8443 as conexões do OpenPLC Editor.
Gerenciando o serviço do runtime
Verificar status
sudo systemctl status openplc-runtime.service
Iniciar
sudo systemctl start openplc-runtime.service
Parar
sudo systemctl stop openplc-runtime.service
Reiniciar
sudo systemctl restart openplc-runtime.service
Onde o Editor se encaixa
A mesma toolchain roda em quatro lugares. O Editor é o que você instala e roda você mesmo; o Autonomy Node, o Autonomy Edge e o Edge on-prem rodam a mesma coisa em outro lugar.
| OpenPLC EditorInstalado no seu computador | Autonomy NodeServido pelo dispositivo | Autonomy EdgeHospedado na nuvem | Edge on-premHospedado no seu próprio hardware | |
|---|---|---|---|---|
| Onde a IDE roda | No seu computador | No dispositivo | Na nuvem | Na sua própria infraestrutura |
| Os CLPs são independentes da IDE | Sim | Não | Sim | Sim |
| Instalação no seu computador | Sim | Não | Não | Não |
| Precisa de acesso à internet | Não | Não | Sim, apenas para gerenciamento | Não |
| Armazenamento de projetos e histórico de versões | Parcial | Parcial | Sim | Sim |
| Times e permissões granulares | Não | Parcial | Sim | Sim |
| Implantação em toda a frota | Não | Não | Sim | Sim |
| Assistência de IA | Sim | Parcial | Sim | Sim |
Ainda rodando o OpenPLC v3
O OpenPLC v3 foi descontinuado. Não haverá novas versões nem novas correções da v3. Se você ainda precisa da v3, a documentação legada e o código-fonte estão disponíveis no arquivo da v3 abaixo.
Ir para o arquivo da v3

