TUTORIAL: Criando WinCC Tags a partir de documentos de texto utilizando script em Python


Imagine que em um projeto no WinCC Professional você precise criar muitas tags para cada um dos componentes do seu sistema SCADA. Agora imagine que essas tags sejam, por exemplo, referentes a diferentes motores e que seguem uma estrutura padrão tal como cada motor possui uma tag de referência, uma tag de input, uma de output, uma referente ao painel onde o motor está ligado, uma tag de descrição e uma tag somando o tempo que o motor esteve ligado.  Dependendo da quantidade de motores, criar essas tags pode ser uma atividade repetitiva que demanda algumas horas.
Imagine agora que possui as descrições de cada um dos motores em um documento Word em forma de pequenas tabelas. E se fosse possível apenas selecionar toda a tebela Word, apertar as teclas Ctrl + C aplicar um comando e todas as tags simplesmente aparecessem em uma tabela Excel pronta para ser importada no WinCC? Parece mágica, mas é perfeitamente possível, vai economizar tempo de desenvolvimento e vou mostrar uma forma de fazer isso.


Figura 1 - Documento Word contendo as informações dos motores

Criando um script em Python é possível ler as informações do documento Word, processar as informações e em seguida exportar em forma de tabela Excel. Para isso, as informações de um documento Word como apresentado na figura 1, são copiadas para a área de transferência do computador a partir do Ctrl + C. Então, ao executar o script em Python, criei o diretório onde a tabela excel gerada seria salva, conforme figura 2 e utilizei uma biblioteca Python gratuita chamada ‘openpyxl’ para criar a tabela excel chamada ‘Hmi Tags’. Esta biblioteca pode ser encontrada em https://openpyxl.readthedocs.io/en/stable/

Figura 2 - Criando diretório para salvar tabela excel


Figura 3 - Criando tabela Excel com a biblioteca openpyxl


Para ler as informações da área de transferência utilizei o módulo de código aberto chamado pyperclip. Este módulo pode ser encontrado em https://pypi.org/project/pyperclip/

Figura 4 - Utilização do pyperclip para ler as informações da área de transferência

Em seguida, utilizei expressões regulares para interpretar o padrão da tabela e gerar uma lista com as informações de interesse sendo extraídas, conforme figura 5.

Figura 5 - Informações extraídas e armazenadas em forma de lista

               Essa foi a parte mais complexa do script, a partir daí apenas utilizei o formato padrão para gerar as tags no excel e salvar as informações na própria tabela excel. E pronto, em alguns segundos é possível criar muitas tags e o mais importante, economizando tempo e evitando erros, pois a automação do processo evita erros de digitação.
                Cada bloco do tipo abaixo representa uma tag que será gerada com as 27 colunas para cada linha da tabela padrão de importação do WinCC.

Figura 6 - Bloco padrão para tags geradas

                O código completo que utilizei pode ser encontrado no meu Github no link abaixo, nele é possível verificar todos os detalhes e também o documento Word que utilizei para testes. Se você possui aplicações parecidas, podemos trocar informações ou se tiver alguma dúvida, estou disposta a esclarecer. Até a próxima!

Comentários

Postagens mais visitadas deste blog

Como utilizar Tag Prefix WinCC Professional

Utilizando interfaces, inversão de controle e injeção de dependências em programação - Um exemplo em C#