Independência de Equipamento

Top 



Embora exista a internacional Norma IEC 1131-3, a tendência é que linguagens de baixo nível, como as listas de instruções, sejam direcionadas para escrita de programas para determinado equipamento particular, como a STL do Step 7. Linguagens de alto nível, por outro lado, levam à necessidade de construção de compiladores para elas, os quais são programas de computador que traduzem as construções dessas linguagens-fonte para determinada linguagem-destino de baixo nível que roda diretamente no hardware específico do equipamento. Ou seja, ao compilador é oferecido um programa escrito na linguagem de alto nível (código-fonte), e o mesmo gera como saída um programa correspondente em linguagem de baixo nível.

Pode-se imaginar que o compilador em si é uma desvantagem, pois trata-se de um intermediário que consome tempo e recursos computacionais entre a escrita do programa e sua execução, além do fato de que o código gerado não é otimizado de forma perfeita. No entanto, com uma pequena perda potencial de eficiência, reflitam sobre a flexibilidade que pode ser alcançada, além do ganho de compreensão textual, facilidade de escrita, gerenciamento e documentarização do programa.

A parte do compilador que cuida das construções sintáticas e da semântica da linguagem de alto nível constitui o front-end do compilador. Já a parte responsável pela geração do código de baixo nível executável configura o seu back-end.

Assim, a independência de equipamento é facilmente atingida se tivermos compiladores que geram código executável para todos os equipamentos de interesse. E, uma vez que se tenha compilador para um equipamento, pode-se aproveitar o seu front-end e substituir apenas o seu back-end, para gerar código para os outros equipamentos que se queira. O mesmo programa escrito em uma linguagem de alto nível pode, dessa forma, gerar código executável para vários tipos de PLC
s diferentes.

É importante destacar que mesmo que PLC
s de fabricantes diferentes implementem "linguagens" baseadas em diagrama ladder e/ou diagrama de bloco de funções, estas representações gráficas não são diretamente intercambiáveis entre os equipamentos, pois são apenas formas de programação e não linguagens em si (textuais). Somente as listas de instruções eventualmente geradas a partir do desenho destes diagramas é que poderiam, em princípio, ser intercambiadas entre os diferentes PLCs.

Por que essa independência seria tão desejável?


Imaginemos que determinado usuário decida trocar seus PLC
s do fabricante X pelos do fabricante Y, os quais são programados com listas de instruções proprietárias de baixo nível. Todos os programas de controle implementados, pela ausência de linguagem independente de equipamento em suas instalações, teriam que ser reescritos, documentarizados e testados novamente, implementados novamente. Situação diferente ocorreria se os programas existentes estivessem escritos em uma linguagem compilada de alto nível: bastaria haver um compilador que gerasse código de baixo nível para o novo equipamento para que nenhum programa tivesse que ser novamente escrito, o que representaria economia e facilidade significativas na mudança.