Controlador lógico progamavel

Controlador lógico progamavel

(Parte 3 de 5)

A ligação dos circuitos de entrada e ou saída é relativamente simples, dependendo apenas do tipo em questão.

3.3.2 TERMINAL DE PROGRAMAÇÃO

O terminal de programação é um dispositivo (periférico) que conectado temporariamente ao CLP, permite introduzir o programa do usuário e configuração do sistema. Pode ser um equipamento dedicado, ou seja, um terminal que só tem utilidade como programador de um determinado fabricante de CLP, ou um software que transforma um computador pessoal em um programador.

Neste periférico, através de uma linguagem, na maioria das vezes, de fácil entendimento e utilização, será feita a codificação das informações vindas do usuário numa linguagem que possa ser entendida pelo processador de um CLP. Dependendo do tipo de Terminal de Programação (TP), poderão ser realizadas funções como:

Elaboração do programa do usuário; Análise do conteúdo dos endereços de memória; Introdução de novas instruções; Modificação de instruções já existentes; Monitoração do programa do usuário; Verificação do estado de funcionamento do hardware do CLP; Atuação de saídas independente da lógica (force); Cópia do programa do usuário em disco ou impressora.

Os terminais de programação podem ser classificados em três tipos:

Terminal Dedicado Portátil; Terminal Dedicado TRC; Terminal não Dedicado.

TERMINAL PORTÁTIL DEDICADO Os terminais de programação portáteis, geralmente são compostos por teclas que são utilizadas para introduzir o programa do usuário. Os dados e instruções são apresentados num display que fornece sua indicação, assim como a posição da memória endereçada.

A maioria dos programadores portáteis são conectados diretamente ao CP através de uma interface de comunicação (serial). Pode-se utilizar da fonte interna do CP ou possuir alimentação própria através de bateria.

Com o advento dos computadores pessoais portáteis, estes terminais estão perdendo sua função, já que pode-se executar todas as funções de programação em ambiente mais amigável, com todas as vantagens de equipamento portátil.

Uma boa prática de todo o profissional é ler o manual de instalação dos equipamentos. No que diz respeito às saídas digitais dos CLPs devem ser rigorosamente respeitados os limites de tensão, corrente e polaridade quando for o caso.

William da Silva Viannaw_vianna@hotmail.com 27

Instituto Federal Fluminese -- IF

TERMINAL DEDICADO TRC No caso do Terminal de programação dedicado tem-se como grandes desvantagens seu custo elevado e sua baixa taxa de utilização, já que sua maior utilização se dá na fase de projeto e implantação da lógica de controle.

Estes terminais são compostos por um teclado, para introdução de dados/instruções e um monitor (TRC - tubos de raios catódicos) que tem a função de apresentar as informações e condições do processo a ser controlado.

Como no caso dos terminais portáteis, com o advento da utilização de computadores pessoais, este tipo de terminal caiu em desuso.

TERMINAL NÃO DEDICADO - PC A utilização de um computador pessoal (PC) como terminal de programação é possível através da utilização de um software aplicativo dedicado a esta função.

Neste tipo de terminal, tem-se a vantagem da utilização de um microcomputador de uso geral realizando o papel do programador do CLP. O custo deste hardware (PC) e software são bem menores do que um terminal dedicado além da grande vantagem de ter, após o período de implantação e eventuais manutenções, o PC disponível para outras aplicações comuns a um computador pessoal.

Outra grande vantagem é a utilização de softwares cada vez mais interativos com o usuário, utilizando todo o potencial e recursos de software e hardware disponíveis neste tipo de computador.

4 PRINCÍPIO DE FUNCIONAMENTO DE UM CLP

Um controlador lógico programável, tem seu funcionamento baseado num sistema de microcomputador onde se tem uma estrutura de software que realiza continuamente ciclos de varredura.

4.1 ESTADOS DE OPERAÇÃO

Basicamente a UCP de um controlador programável possui dois estados de operação:

- Programação - Execução

A UCP pode assumir também o estado de erro, que aponta falhas de operação e execução do programa.

Programação Neste estado o CP não executa programa, isto é, não assume nenhuma lógica de controle, ficando preparado para ser configurado ou receber novos programas ou até modificações de programas já instalados. Este tipo de programação é chamada off-line (fora de linha).

William da Silva Viannaw_vianna@hotmail.com 28

Instituto Federal Fluminese -- IF

Execução Estado em que o CP assume a função de execução do programa do usuário.

Neste estado, alguns controladores, podem sofrer modificações no programa. Este tipo de programação é chamada on-line (em linha).

4.2 FUNCIONAMENTO

Ao ser energizado, estando o CP no estado de execução, o mesmo cumpre uma rotina de inicialização gravada em seu sistema operacional. Esta rotina realiza as seguintes tarefas: A. Limpeza da memória imagem, para operandos não retentivos; B. Teste de memória RAM; C. Teste de executabilidade do programa.

Após a execução desta rotina, a UCP passa a fazer uma varredura (ciclo) constante, isto é, uma leitura seqüencial das instruções em loop (laço).

Entrando no loop, o primeiro passo a ser executado é a leitura dos pontos de entrada. Com a leitura do último ponto, irá ocorrer, a transferência de todos os valores para a chamada memória ou tabela imagem das entradas.

Após a gravação dos valores na tabela imagem, o processador inicia a execução do programa do usuário de acordo com as instruções armazenadas na memória.

Terminando o processamento do programa, os valores obtidos neste processamento, serão transferidos para a chamada memória ou tabela imagem das saídas, como também a transferência de valores de outros operandos, como resultados aritméticos, contagens, etc.

Ao término da atualização da tabela imagem, será feita a transferência dos valores da tabela imagem das saídas, para os cartões de saída, fechando o loop. Neste momento é iniciado um novo loop. A figura seguinte ilustra o funcionamento do ciclo de operação de um CLP.

Para a verificação do funcionamento da UCP, é estipulado um tempo de processamento, cabendo a um circuito chamado de Watch Dog Time supervisionálo. Ocorrendo a ultrapassagem deste tempo máximo, o funcionamento da UCP será interrompido, sendo assumido um estado de erro.

O termo varredura ou scan, são usados para um dar nome a um ciclo completo de operação (loop). O tempo gasto para a execução do ciclo completo é chamado Tempo de Varredura, e depende do tamanho do programa do usuário, e a quantidade de pontos de entrada e saída.

Para a verificação do funcionamento da UCP, é estipulado um tempo de processamento, cabendo a um circuito chamado de Watch Dog Time supervisionálo. Ocorrendo a ultrapassagem deste tempo máximo, o funcionamento da UCP será interrompido, sendo assumido um estado de erro. O termo varredura ou scan, são usados para um dar nome a um ciclo completo de operação (loop). O tempo gasto para a execução do ciclo completo é chamado Tempo de Varredura ou Scan, depende das características da UCP, do tamanho do programa do usuário, e da quantidade de pontos de entrada e saída.

William da Silva Viannaw_vianna@hotmail.com 29

Instituto Federal Fluminese -- IF

Figura 23 - Fluxograma de funcionamento do ciclo de operação de um CLP

Durante a execução do ciclo de varredura ocorre a leitura das entradas e atualização da memória imagem de E/S. A figura seguinte ilustra como esse processo funciona para entradas digitais. Estando o ponto entrada energizado (contato fechado) o bit correspondente da memória imagem ficará em nível lógico 1.

- Limpeza de memória - Teste de RAM

- Teste de Execução

Tempo de Varredura OK ?

Atualização da Tabela Imagem das Entradas

Execução do Programa do Usuário

Atualização da Tabela Imagem das Saídas

Leitura dos Cartões ou módulos de Entrada

Transferência da Tabela para a Saída

Não

Não Sim

Sim

William da Silva Viannaw_vianna@hotmail.com 30

Instituto Federal Fluminese -- IF

Caso o contato esteja aberto o bit correspondente na memória imagem ficará em nível lógico 0. Observe que esses estado independem se o contato de campo é normalmente aberto (NA) ou normalmente fechado (NF). Na sequência da execução do ciclo de varredura é executado o programa do usuário que, entre outros, utilizará os dados da memória imagem de E/S. Após, o resultado será escrito na tabela da memória imagem de saída.

Observando a lógica do programa do usuário apresentado na figura seguinte, pode ser observado que no estado atual das entrada (ED 0 acionada nível lógico 1 e ED 03 desacionada nível lógico 0) o programa acionará o bit correspondente a saída digital 04. Pode ser observado que o programa acoinou a saída mesmo com uma das entradas físicas desacionadas. Isso se deve ao fato que o contato NF no programa corresponde a lógica de negação, então considerando a lógica combinacional tem-se:

SD03 = ED00 . ED03 Portanto, a saída digiral 03 só será acionada quando ED00 = 1 E ED03 = 0.

William da Silva Viannaw_vianna@hotmail.com 31

Instituto Federal Fluminese -- IF Figura 24 - Ilustração do funcionamento da atualização da memória imagem de E/S.

10

Memória

Imagem IN 0 IN 03

OUT 03

Cartão de Saída Digital

Cartão de Entrada Digital

William da Silva Viannaw_vianna@hotmail.com 32

Instituto Federal Fluminese -- IF

5 LINGUAGEM DE PROGRAMAÇÃO

Na execução de tarefas ou resolução de problemas com dispositivos microprocessados, é necessária a utilização de uma linguagem de programação, através da qual o usuário se comunica com a máquina.

A linguagem de programação é uma ferramenta necessária para gerar o programa, que vai coordenar e sequenciar as operações que o microprocessador deve executar.

5.1 CLASSIFICAÇÃO

As linguagens de programação podem ser classificadas em dois grandes grupos:

Linguagem de baixo nível Linguagem de alto nível

5.1.1 LINGUAGEM DE BAIXO NÍVEL

Linguagem de Máquina

É a linguagem corrente de um microprocessador ou microcontrolador, onde as instruções são escritas em código binário (bits 0 e 1). Para minimizar as dificuldades de programação usando este código, pode-se utilizar também o código hexadecimal.

Código Binário

Endereço Conteúdo

William da Silva Viannaw_vianna@hotmail.com 3

Instituto Federal Fluminese -- IF

Código Hexadecimal

Endereço Conteúdo

Cada item do programa, chama-se linha ou passo, representa uma instrução ou dado a ser operacionalizado.

Linguagem Assembler

Na linguagem assembler o programa é escrito com instruções abreviadas chamadas mnemônicos.

0MVI A,80H
0002OUT 1FH
0004LXI ,1000H
0007MOV A,M
0008INX H
0009ADD M
000ADAA
000BOUT 17H
000DMVI A,1H
000FJC 0031H
0012XRA A
0013OUT 0FH
0015HLT

Endereço Conteúdo

Cada microprocessador ou microcontrolador possuem estruturas internas diferentes, portanto seus conjuntos de registros e instruções também são diferentes.

5.1.2 LINGUAGEM DE ALTO NÍVEL

É uma linguagem próxima da linguagem corrente utilizada na comunicação de pessoas.

William da Silva Viannaw_vianna@hotmail.com 34

Instituto Federal Fluminese -- IF

Compiladores e Interpretadores

Quando um microcomputador utiliza uma linguagem de alto nível, é necessário a utilização de compiladores e interpretadores para traduzirem este programa para a linguagem de máquina.

Vantagem Elaboração de programa em tempo menor, não necessitando conhecimento da arquitetura do microprocessador.

Desvantagem Tempo de processamento maior do que em sistemas desenvolvidos em linguagens de baixo nível.

Exemplos de linguagens de alto nível

- Pascal - C

- Python

- Java

- etc

6 PROGRAMAÇÃO DE CONTROLADORES PROGRAMÁVEIS

Normalmente pode-se programar um controlador através de um software que possibilita desenvoler o program em uma ou mais linguagens. Entre essas linguagens industriais estão:

Sequential function chart (SFC); Function blocks diagram (FBD); Ladder diagram (LD); Structured Text (ST); Instruction List (IL).

Alguns CLPs, possibilitam o desenvolvimento do programa do usuário em uma ou mais formas.

6.1 LADDER DIAGRAM (LD) - DIAGRAMA DE CONTATOS

Também conhecida como: - Diagrama de relés;

- Diagrama escada;

- Diagrama “ladder”.

William da Silva Viannaw_vianna@hotmail.com 35

Instituto Federal Fluminese -- IF

Esta forma gráfica de apresentação está muito próxima a normalmente usada em diagrama elétricos. Exemplo:

Figura 25 - Exemplo de programa em Ladder

6.2 FUNCTION BLOCKS DIAGRAM (FBD) - DIAGRAMA DE BLOCOS

Mesma linguagem utilizada em lógica digital, onde sua representação gráfica é feita através das chamadas portas lógicas. Exemplo:

Q 0.2 Figura 26 - Exemplo de programa em blocos

William da Silva Viannaw_vianna@hotmail.com 36

Instituto Federal Fluminese -- IF

6.3 INSTRUCTION LIST (IL) - LISTA DE INSTRUÇÃO

Linguagem semelhante à utilizada na elaboração de programas para computadores.

: AI 1.5
: AI 1.6

Exemplo : : O

: AI 1.4
: AI 1.3
: =Q 3.0

Figura 27 - Exemplo de programa em IL

6.4 STRUCTURED TEXT (ST) – TEXTO ESTRUTURADO

Linguagem muito semelhante à utilizada na elaboração de programas para computadores em texto estuturado.

Exemplo:

Figura 28 - Exemplo de programa em ST

6.5 SEQUENTIAL FUNCTION CHART (SFC) - PASSOS OU STEP

Essa linguagem de programação executa rotinas baseadas em passos que são executado mediante a certas condições lógicas satisfeitas. Exemplo:

William da Silva Viannaw_vianna@hotmail.com 37

Instituto Federal Fluminese -- IF

Figura 29 - Exemplo de programa em passos

6.6 LINGUAGEM CORRENTE OU NATURAL

É semelhante ao basic, que é uma linguagem popular de programação, e uma linguagem de programação de alto nível. Comandos típicos podem ser "fechar válvula A" ou "desligar bomba B", "ligar motor", "desligar solenóide",

William da Silva Viannaw_vianna@hotmail.com 38

Instituto Federal Fluminese -- IF

6.7 ANÁLISE DAS LINGUAGUES DE PROGRAMAÇÃO

Com o objetivo de ajudar na escolha de um sistema que melhor se adapte as necessidades de cada usuário, pode-se analisar as características das linguagens programação disponíveis de CLPs.

Esta análise se deterá nos seguintes pontos: - Quanto a forma de programação;

- Quanto a forma de representação;

- Documentação;

- Conjunto de Instruções.

Quanto a Forma de Programação Programação Linear - programa escrito escrita em único bloco Programação Estruturada - Estrutura de programação que permite:

- Organização; - Desenvolvimento de bibliotecas de rotinas utilitárias para utilização em vários programas; - Facilidade de manutenção;

- Simplicidade de documentação e entendimento por outras pessoas além do autor do software.

Permite dividir o programa segundo critérios funcionais, operacionais ou geográficos.

Quanto a Forma de Representação - Diagrama de Contatos;

- Diagrama de Blocos;

- Lista de Instruções. Estes já citados anteriormente.

Documentação A documentação é mais um recurso do editor de programa que de linguagem de programação. De qualquer forma, uma abordagem neste sentido torna-se cada vez mais importante, tendo em vista que um grande número de profissionais estão envolvidos no projeto de um sistema de automação que se utiliza de CLPs, desde sua concepção até a manutenção.

Quanto mais rica em comentários, melhor a documentação que normalmente se divide em vários níveis.

Conjunto de Instruções É o conjunto de funções que definem o funcionamento e aplicações de um CLP.

Podem servir para mera substituição de comandos a relés: - Funções Lógicas;

- Memorização;

- Temporização;

- Contagem. Como também manipulação de variáveis analógicas:

William da Silva Viannaw_vianna@hotmail.com 39

Instituto Federal Fluminese -- IF

- Movimentação de dados; - Funções aritméticas. Se funções complexas de algoritmos, comunicação de dados, interfaces homem-máquina, podem ser necessárias: - Saltos controlados;

- Indexação de instruções;

- Conversão de dados;

- sequenciadores;

- aritmética com ponto flutuante;

- etc.

Para atender às demandas da comunidade industrial, um grupo de trabalho foi formado dentro da International Electrotechnical Commission (IEC) em 1979, para avaliar o projeto completo de controladores lógicos programáveis, incluindo o hardware, instalação, teste, documentação, programação e comunicação. O IEC é uma organização normativa internacional formada por representantes de todo o mundo.

(Parte 3 de 5)

Comentários