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
Postar um comentário