Git nativo para TIA Portal

Controle de Versão
para Projetos TIA Portal

Um sistema de controle de versão completo baseado em Git integrado no T-IA Connect. Exporte seu projeto como arquivos de texto legíveis, faça commit de alterações, visualize diffs, gerencie branches e sincronize com remotos — diretamente pela UI ou via ferramentas MCP.

Projetos TIA Portal são Pesadelos de Controle de Versão

Arquivos binários, sem diffs, sem merge — o pior cenário para controle de código-fonte

Formato Binário Opaco

Projetos TIA Portal são arquivos binários proprietários. O Git os vê como blobs — sem diffs linha a linha, sem merge significativo, sem forma de ver o que realmente mudou entre duas versões.

Versionamento via Copiar-Colar

Engenheiros versionam projetos copiando pastas: Projeto_v1, Projeto_v2, Projeto_v2_John_modificado. O espaço em disco explode, ninguém sabe qual versão é a atual e o merge é impossível.

Sem Visibilidade de Mudanças

Alguém alterou um bloco de função na semana passada. O que exatamente mudou? Qual network? Qual instrução? Sem diffs de texto, você não consegue saber sem abrir as duas versões lado a lado no TIA Portal.

Sem Fluxo de Colaboração

Dois engenheiros não conseguem trabalhar no mesmo projeto simultaneamente com confiança. Sem branches, sem capacidade de merge, sem pull requests. Um acaba sobrescrevendo o trabalho do outro.

Como o VCS no T-IA Connect Funciona

Exportação → Git → diff/branch/merge, com normalização automática de XML

Exportação Automática de Projeto

O T-IA Connect exporta todos os elementos do projeto como arquivos de texto legíveis: blocos (OB, FB, FC, DB) como SimaticML XML, tabelas de variáveis (tags), UDTs, watch tables como XML e configuração de hardware como AML.

Normalização de XML

O TIA Portal pode reordenar atributos XML entre exportações, causando falsos diffs. O XmlNormalizer integrado ordena os atributos de forma determinística, garantindo que os diffs mostrem apenas mudanças reais.

Git Integrado (LibGit2Sharp)

Nenhuma instalação externa de Git é necessária. O T-IA Connect utiliza LibGit2Sharp para uma implementação Git totalmente integrada. Init, commit, branch, diff, merge, push, pull — tudo nativo.

Gerenciamento Completo de Branches

Crie branches para variantes ou experimentos. Trabalhe em um branch de funcionalidade, teste-o e depois faça o merge de volta para o main. O mesmo workflow das equipes de software, agora para projetos PLC.

Sincronização Remota (Push/Pull)

Adicione um repositório remoto (GitHub, GitLab, Gitea, Azure DevOps) e faça push/pull das alterações. Compartilhe o histórico do projeto com toda a equipe usando infraestrutura Git padrão.

Sidebar na UI Desktop

Uma barra lateral de VCS no aplicativo desktop mostra o status do repositório, arquivos modificados e permite fazer commit diretamente pela UI. Sem necessidade de linha de comando para as operações diárias.

Fluxo Típico de Controle de Versão

Da alteração no projeto ao histórico rastreável e comparável

1

1. Inicializar Repositório

Execute vcs_init para criar um repositório Git em .tia-connect/source/. Isso é feito uma vez por projeto. Todas as exportações subsequentes vão para este diretório.

2

2. Commit de Alterações

Após fazer alterações no TIA Portal, execute vcs_commit. O T-IA Connect exporta o projeto inteiro, prepara os arquivos (stage) e cria um commit Git com sua mensagem.

3

3. Visualizar Diffs e Histórico

Use vcs_diff para ver exatamente o que mudou — quais elementos XML foram adicionados, modificados ou removidos. Use vcs_log para navegar pelo histórico de commits com mensagens e timestamps.

4

4. Branch, Merge e Restore

Crie branches para experimentos (vcs_branch_create), faça o merge de volta (vcs_merge) ou restaure um arquivo específico de um commit anterior (vcs_restore).

O que é Exportado

Cada elemento do projeto torna-se um arquivo de texto legível e comparável

Blocos de Programa

OB, FB, FC, DB — exportados como SimaticML XML. Cada bloco é um arquivo separado no diretório blocks/. Estrutura completa de networks, instruções e comentários preservados.

Tabelas de Variáveis (Tags)

Tags de PLC exportadas como XML estruturado no diretório tags/. Nomes, tipos de dados, endereços e comentários — todos sob controle de versão.

UDTs e Watch Tables

User-Defined Types em udts/ e tabelas de monitoramento (watch tables) em watch/. Tipos de dados completos do projeto rastreados junto com a lógica do programa.

Configuração de Hardware

Topologia de rede, configuração de CPU e módulos de I/O exportados como AML (AutomationML) em hardware/. Rastreie mudanças de hardware junto com as mudanças de software.

Ferramentas VCS Disponíveis

Acessíveis via MCP, Copilot, REST API e UI Desktop

vcs_init / vcs_commit / vcs_status

Inicialize o repositório, faça commit do estado atual do projeto com uma mensagem e verifique quais arquivos foram modificados, adicionados ou excluídos desde o último commit.

vcs_log / vcs_diff

Navegue pelo histórico de commits com mensagens e timestamps. Visualize diffs de texto entre commits ou entre o estado de trabalho e o último commit.

vcs_branch_* / vcs_merge

Crie, liste, alterne (checkout) e exclua branches. Faça o merge de branches. Workflow completo de branching Git para projetos PLC.

vcs_remote_* / vcs_push / vcs_pull

Adicione, liste e remova repositórios remotos. Envie commits para um remoto (push) e receba alterações da equipe (pull). Workflow padrão de remotos Git.

vcs_restore / vcs_config

Restaure um arquivo de um commit anterior. Configure o nome de usuário e e-mail do Git. Configurações em nível de projeto para o repositório Git integrado.

Perguntas Frequentes

Como isso difere do versionamento de projeto nativo do TIA Portal?

O versionamento do TIA Portal funciona em nível de projeto completo — snapshots binários. O VCS do T-IA Connect exporta elementos individuais como arquivos de texto, permitindo diffs linha a linha, branching, merging e a capacidade de ver exatamente o que mudou em cada bloco. Eles são complementares.

Posso fazer push para GitHub/GitLab?

Sim. Adicione um remoto com vcs_remote_add e use vcs_push/vcs_pull para sincronizar. Os arquivos de texto exportados funcionam perfeitamente com qualquer plataforma de hospedagem Git. O histórico do seu projeto PLC vive ao lado dos seus outros repositórios.

O restore realmente importa de volta para o TIA Portal?

O vcs_restore recupera o conteúdo do arquivo de um commit anterior. A reimportação total para o TIA Portal está em desenvolvimento (há uma questão de codificação com UTF-16 em alguns tipos de blocos). Por enquanto, o restore fornece o conteúdo exato da fonte para reimportação manual.

Preciso de Git instalado na minha máquina?

Não. O T-IA Connect integra o Git via LibGit2Sharp — uma implementação nativa de Git para .NET. Sem instalação externa de Git, sem configuração de PATH, sem linha de comando. Tudo funciona através da UI e ferramentas do T-IA Connect.

Controle a Versão de Seus Projetos PLC

Diffs, branches, merge, push/pull — controle de código-fonte real para TIA Portal, não apenas cópias de pastas. Integrado ao T-IA Connect com configuração zero.