Você está na página 1de 75

_____________________________________________

TREINAMENTO EM PROGRAMAÇÃO

APOSTILA
Versão:2003/1
Ref: 31940112-0
Este documento é propriedade da BCM ENGENHARIA LTDA. Seu conteúdo tem caráter exclusivamente
informativo, cabendo à BCM o direito de promover alterações necessárias, sem aviso prévio .

É proibida a reprodução parcial ou total sem o expresso consentimento da BCM Engenharia Ltda.

Telefone (051) 3374.3899


Fax (051) 3374.4141
E-mail: bcmeng@ terra .com.b r
www.b cm automacao .com .br
Índice
1. Introdução aos Sistemas de Controle...................... ............................................................................... 5
2. Medição...................................................................................................................... ............................. 5
2.1. Diagrama de Controle de Medição, Atuação e Controle............................................................ 6
2.2. Medidor.......................................................................................................... ............................ 6
2.3. Atuação.......................................................................................................... ............................ 7
2.4. Atuador.......................................................................................................... ............................. 7
2.5. Controle.................................................................................................. .................................... 8
3. Classificação de Sistemas (Con tínuos, Discretos, Linear/Não Linear).................................................. 9
3.1. Sistema Linear................................................................................................... ........................ 10
3.2. Sistema Linear/Não Linear........................................................................................ ................ 10
3.3. Sistemas Monovariáveis........................................................................................... ................. 11
4. Controle de Processo......................................................................................................... ..................... 12
4.1. Diagrama do Controle de Processo................................................................................. .......... 12
5. Automação de um Processo ................................................................................................................... 13
5.1. Elemento Controlador............................................................................................. ................... 13
5.2. Sensores......................................................................................................... ........................... 13
5.3. Atuadores........................................................................................................ ........................... 14
5.4. Projeto do Sistema............................................................................................... ...................... 14
5.5. Interface Homem-Máquina.......................................................................................... ............... 15
5.6. Cablagens e Conexões.............................................................................................................. 15
5.7. Treinamento de Operadores........................................................................................ .............. 16
5.8. Documentação do Sistema........................................................................................................ 16

6. Introdução aos CLPs........................................ ....................................................................................... 17


6.1. Áreas de Aplicação............................................................................................ ..................... 17
6.2.1. Aplicações Usuais........................................................................................... ..................... 18
6.2.2. Aplicações Usuais........................................................................................... ..................... 18
6.3. Histórico..................................................................................................... ............................. 19
6.4. Vantagens do Controlador Programável.......................................................................... ....... 19
7. Arquitetura.................................................................................................................. ............................. 20
7.1. Arquiteturas Disponíveis - BCM2085 B........................................................... ......................... 20
7.2. Arquiteturas Disponíveis - GP3000, BCM1086A, BCM1088................................................... 21
8. Funções de Segurança................................................................................................................ ........... 21
9. Módulos Entradas e Saídas Disponíveis........................................................................................ ........ 22
10. Ferramentas de Programação....................................................................................................... ....... 22
10.1. Funções......................................................................................................... .......................... 23
11. Memória CP - Organização Interna............................................................................................ ........... 23
12. Como escolher um CP......................................................................................................... ................. 24
13. Conectividade...................................................................................................................... ................. 24

14. A Linguagem Descritiva...................................................................................................... .................. 25


15. Estrutura de Estados - Representação Gráfica................................................................................ .... 26
16. Características Básicas........................................................................................... ............................. 29
17. Regras do Diagrama de Estados............................................................................................... ........... 30
18. Notação para Comandos e Instruções.......................................................................................... ........ 39
19. Comandos de Configuração do CLP .................................................................................................... 40
20. Tipos de CLP................................................................................................................................ ........ 41
21. Tipos de Interfaces......................................................................................................... ....................... 43

22. Tratamento de Variáveis..................................................................................................... .................. 56


23. Documentação de Projetos.................................................................................................... ............... 69
1. Introdução aos Sistemas de Controle

Sistema que tem a função de controlar um processo a partir de


suas variáveis, ajustando-as para valores pré-estabelecidos.

Exemplos de sistemas de controles:


- Regular a temperatura da água do chuveiro para o banho.
- Controlar a velocidade de uma esteira.
- Controlar a direção de um míssil.
- Controlar a energia fornecida por uma hidrelétrica.

2. Medição

A medição consiste em capturar do sistema o(s) valor(es) da(s)


grandeza(s) necessária(s) ao controle.

É através da medição que o sistema de controle obtém as


informações para sua atuação.

Exemplos:
- A temperatura da água do chuveiro para banho.
- A temperatura e umidade de uma estufa.

Página 5 de 74
2.1. Diagrama de Controle de Medição, Atuação e Controle

PROCESSO

ATUAÇÃO MEDIÇÃO

CONTROLE

2.2. Medidor

É o elemento capaz de realizar a medição. Transforma a


grandeza medida em um sinal para o sistema de controle.

Exemplos:
- A mão no sistema do chuveiro.
- Sensor de temperatura (PT100, termopar) no controle de
temperatura ambiente.
- Sensor de velocidade.

Página 6 de 74
2.3. Atuação

A atuação é a forma do sistema de controle interferir no


processo.

Através da atuação o sistema de controle altera as variáveis sob


seu controle.

Exemplos:
- A vazão de água quente e fria em um chuveiro.
- A injeção de ar frio ou quente em um ambiente.

2.4. Atuador

O atuador é o elemento que interfere no processo com o


objetivo de controlá-lo.

Página 7 de 74
2.5. Controle

O controle consiste em determinar o valor de atuação a partir


das informações medidas, com o objetivo de atingir o valor de
controle.

Exemplos:
- Determinar se devem ser abertas ou fechadas as torneiras de
água quente e fria no sistema de controle do banho.
- Determinar se deve ser ligado (e por quanto tempo) o
compressor ou a resistência no sistema de controle de
temperatura da sala.

Página 8 de 74
3. Classificação de Sistemas

Os sistemas de controle podem ser classificados como:

- Contínuos: Em processos que estão sendo executados todo o


tempo.
Exemplo: -Controle da velocidade da turbina de um
gerador.
-Controle de tratamento de água.

- Discretos: Em processos que são executados durante um


período de tempo. São processos que possuem início e fim
(batelada).
Exemplo: -Controle de linha de fabricação de calçados.
-Controle de injetora de plástico.

- Linear: Existe uma relação linear entre as variáveis de entrada


e saída do mesmo.
Exemplo: - Controle de posicionamento, usando encoder.

- Não linear: Não existe uma relação linear entre as variáveis de


entrada e saída do mesmo.
Exemplo: - Controle de posicionamento, usando sensores
de fim-de-curso.

Página 9 de 74
3.1. Sistema Linear:

O sistema possui duas entradas u1 e u2 e duas saídas y1 e y2.


Se ele é linear, pode-se estabelecer:

y1 = Fu1, y2 = Fu2

Se aplicamos ao sistema uma nova entrada u3, gerada como


combinação linear das anteriores, u3 = αu1 + βu2, a saída y3 =
Fu3 poderá ser calculada como:

y3 = αy1 + βy2

3.2. Sistema linear/não linear:

u PID y u ON OFF y

Linear Não Linear

Controlador PID ( Proporcional-Integral-Derivativo ) é um


exemplo típico de controle linear. Um sistema de controle
ON-OFF é um exemplo de sistema de controle não linear.

Página 10 de 74
3.3. Sistemas Monovariáveis

- Multivariável: Possui mais de uma variável de controle


Exemplo: Controle de umidade e temperatura da incubadora.
Controle de velocidade de um motor

u1 y1
u1 CONTROLE y1 CONTROLE
un yn
Monovariável Multivariável

Página 11 de 74
4. Controle de Processo

Contr ole é a técnica que consiste em Medir a variável que se


deseja controlar, Compar ar o resultado da medição com um
dado valor de referência ( valor desejado, " set point ", ponto de
ajuste, etc. ), definido externamente, e Agir sobre o sistema no
sentido de diminuir a diferença entre as duas variáveis.

4.1. Diagrama do Controle de Processo

Sinal de Perturbações
controle

Entrada de Sinal de Ação de


Atuador Processo
Referência + Erro controle Variável
-
Controlada

Medidor

Controlar um sistema pressupõe a associação ao mesmo de um


conjunto de dispositivos que torne possível a implementação
das funções de medição , comparação e ação .

Página 12 de 74
5. Automação de um processo

5.1. Elemento controlador

- É onde está localizada a " inteligência ", ou seja, a lógica do


sistema.
- Composto por:
HARDWARE - Parte física do controle, constituída por
componentes eletrônicos, eletromecânicos, pneumáticos ou
mecânicos.
SOFTWARE - Programa que define as funções a serem
executadas pelo hardware.

5.2. Sensores

- São os elementos que " sentem " a realidade do meio a ser


controlado.
- Transformam as grandezas físicas (temperatura, pressão,
etc...) em grandezas elétricas que são compreendidas pelo
controlador.
- Os sensores permitem que o sistema controlador " saiba " qual
é o valor da variável e, de acordo com o programa de controle
possa definir a atuação.

Página 13 de 74
5.3. Atuadores

- São os elementos que recebem comandos do sistema de


controle e os convertem em ações.
- Transformam as informações do controlador em grandezas
físicas capazes de agir no ambiente.
- Através dos atuadores o sistema age no meio ambiente.
- São atuadores: Motores elétricos, ventiladores, válvulas, etc...

5.4. Projeto do Sistema

Descrição do sistema a ser controlado e da forma de faze-lo,


definindo entradas, saídas, algoritmos de controle,
equipamentos que serão utilizados, precisões necessárias,
instalações, etc..

O projeto do sistema deve descrever claramente todas as


funções que serão executadas de que forma isto será feito.

Lembrete:
- Não existe equipamento ou serviço capaz de salvar um mau
projeto.

Página 14 de 74
5.5. Interface Homem-Máquina

- É o meio de acesso do operador ao sistema.


- Através dela ocorre a comunicação entre o operador e o
controlador.
- Por onde são apresentadas as informações geradas pelo
controlador e por onde o operador passa informações para o
controlador.
- São IHM: teclados, painéis sinópticos, microcomputadores,
displays, canais de comunicação serial, etc...

5.6. Cablagens e Conexões

- Este item é normalmente relegado a um plano secundário,


porém têm grande importância para o sistema. Através da
instalação elétrica os sensores e atuadores comunicam-se com o
controlador. Também o suprimento de energia é conduzido
pelos cabos e conectores. Pode ser considerado como o sistema
nervoso do sistema.

Página 15 de 74
5.7. Treinamento de Operadores

- O sucesso de todo o esforço dispensado nas fases anteriores


pode ser seriamente comprometido se não for prevista a
capacitação dos operadores responsáveis pela operação do
sistema.

5.8. Documentação do Sistema

- Todas as informações importantes relativas ao sistema devem


estar descritas de forma organizada e acessível às pessoas
habilitadas.

- A qualidade da documentação determina o custo de


manutenção e a própria vida útil do sistema.

Página 16 de 74
6. Introdução aos CLPs

CLP ( Controlador Lógico Progr am ável )

PROCESSO

Atuador Medição

CLP

Interfaces
S1 E1
S2 E2

Entradas
Saídas

. .
. CPU .
. .
. .
Sn En
Memórias

6.1. Áreas de aplicação

- Controle de processo

- Automação da manufatura

- Integração de sistemas de automatização

- Linhas de fabricação e montagem

- Automação predial

Página 17 de 74
6.2.1. Aplicações Usuais

Uso interno em máquinas:

- Intertravamento

- Seqüênciamento das operações

- Posicionamento

- Segurança

6.2.2. Aplicações usuais

Controle de processos:
- Linhas de montagem
- Usinas hidrelétricas e termolétricas
- Subestações de energia
- Tratamento de água e esgoto

Automação predial:
- Demanda e fator de potência
- Iluminação
- Intrusão

Página 18 de 74
6.3. Histórico

1968 Primeiro CLP, General Motors componentes discretos;

1971 Primeiras aplicações fora da indústria automobilística;

1975 Introdução do controlador analógico nos CLPs;

1977 CLPs com microprocessadores em lugar de


componentes discretos;

1978 Em diante, CLPs ganham larga aceitação industrial;

1981 BCM lança o primeiro CP brasileiro

6.4. Vantagens do Controlador Programável (CP)

- Elevada confiabilidade;

- Pequenas dimensões e peso reduzido;

- Capacidade de comunicação com computadores e outros


sistemas inteligentes.

- Construção robusta, adequada a ambientes agressivos;

- Projeto modular, de fácil expansão.

Página 19 de 74
7. Arquitetura dos CP’s

Terminal
de
Programação

CLP
PROCESSO

Sensores
CLOCK Botões
Entradas Chaves
et c.
Processador
( EP ) ROM RAM + BAT
EEP ROM NOVRAM
Flash EP ROM At uadores
Interface
Relês
Serial Cont at ores
Saídas et c

Interface
Comunicação Homem-Máquina
Serial

7.1. Arquiteturas Disponíveis - BCM2085 B

Página 20 de 74
7.2. Arquiteturas disponíveis

Linha GP3000

BCM1086A

BCM1088

8. Funções de Segurança

Arm-Bus
Read-Back
Check-Before-Operate
DPS (Dual Power Suply)
Sistemas redundantes

Página 21 de 74
9. Módulos Entradas e Saídas Disponíveis

CPU 32 bits interno


Fontes Alimentação 90 a 240Vac/100 a 250Vcc
Comunicação RS2332, RS485, Fibra ótica
Diversos protocolos
Entradas/Saídas Digitais 24Vcc/110Vac/220Vac/125Vcc
Entradas/Saídas Analógicas 0 a 1mA/ 4 a 20mA/ 0 a 20mA
0 a 5Vcc/ 0 a 10 Vcc
Entradas especiais Tensão e corrente, termopar, PT100, encoder,
eventos
Saídas especiais Posicionamento - motor de passo

10. Ferramentas de Programação

- Software BCM-PROCP
- Compatível com WINDOWS
- Permite programação e depuração do programa
- Armazenamento de dados e programas do CLP em
arquivos no HD do computador.

Página 22 de 74
10.1. Ferramenta de Programação - Funções

- Visualização do andamento do processo controlado pelo


CP na tela do PC

- Entrada de dados e parâmetros “on-line” para o CP por


intermédio do PC

- Geração de gráficos

- Leitura e gravação de receitas

11. Memória do CP - Organização Interna

Grupo Utilização

Memória do sistema Sistema operacional


Biblioteca de funções

Tabela de E/S
Memória de aplicação Tabela de Dados
Programa aplicativo

Página 23 de 74
12. Como escolher um CP:

- Quais as necessidades? O CP deve possuir disponíveis as


funções necessárias, capacidade de interconexão, tempo de
resposta adequado, etc..
- Qual o número de E/S? O equipamento deverá possuir E/S
suficientes para a aplicação.
- Qual o custo? O custo precisa estar compatível com o
orçamento para o projeto.
- Quais as facilidades para expansão? Possíveis ampliações que
o projeto venha a sofrer
- Qual o suporte técnico esperado? Importância de
conhecimento técnico acessível.
- Qual a robustez? Verificar se o equipamento tem construção
adequada para a função.
- Qual o nível de segurança? O equipamento deve ter hardware
e software que garantam o nível de segurança necessário à
aplicação.

13. Conectividade

Protocolos de comunicação - Permitem a comunicação entre


CPs e com outros equipamentos

- DNP3.0
- IEC 870
- Modbus
- B2P
- Protocolos proprietários (RP570, BST, IQC, etc...)

Página 24 de 74
14. A Linguagem Descritiva

Através desta, é programado o que o CLP deverá fazer,


estabelecendo o que deverá controlar e de que maneira.

Características Gerais:

- A mais avançada e poderosa estrutura de programação


disponível no mercado mundial.

- Estruturada em estados e malhas de controle;

- Sintaxe em português;

- Instruções orientadas à objetos;

- " Multitasking " e processamento em tempo real;

- Funções avançadas ( matrizes, PID, etc );

- Possui " diagnóstico intrínseco ";

- Recursos para desenvolvimento e depuração;

- Autodocumentada;

- Rotinas de interrupção;

- Cálculos matemáticos;

- Comunicação em rede.

Página 25 de 74
15. Estrutura de Estados - Representação Gráfica

O Estado é o Conjunto de comandos, que quando ativado, provoca ações,


que caracterizam uma etapa do processo.

Número do Estado

LIGA 10
1 RESET NPEC

Ações e comandos associados

MAQUINA 0
1
0
2

2
1
1
3
2 3
3
4

Página 26 de 74
Estado Atual: Onde estão sendo realizadas as tarefas no momento

Condição de transição: Quando


satisfeita, o processamento passará
para o estado futuro

Estado futuro: Onde estão as tarefas


que ainda serão executadas

Uma condição de Transição é a combinação de eventos que


determinam uma mudança de estado. São passagens
condicionais ou não de um estado para outro.

LIGA 10
1 RESET NPEC

PESO = CAIXA

DESL 10
2 LIGA 15

Página 27 de 74
LIGA 10
1 RESET NP EC

P ESO = CAIXA
Malha de controle é
um diagrama de DESL 10
2
estados parcial, que LIGA 15,17

corresponde a um P ESO = P ROG


ramo do processo,
dentro do qual
apenas um estado 3 DESL 17

pode estar ativo a


T = 5 seg
cada momento.

4 DESL 15

P ESO = 0

Página 28 de 74
16. Características Básicas

- Um programa sempre inicia no estado 0 ( zer o ) de cada


máquina;

- O número de transições com origem em cada estado é


ilimitado ;

- A direção das transições é completamente livre ;

- Somente um estado pode estar ativo de cada vez num


diagrama de estados;

- O programa ignora todos os estados e transições já


executados, somente considerando as transições com origem no
estado ativo ;

- É um método muito eficiente para descrição de processos,


sendo mais adequado do que o fluxograma universal ;

- A utilização do diagrama de estados elimina a necessidade de


qualquer outr o método de descrição do processo, permitindo a
programação direta em Linguagem Descritiva BCM.

Página 29 de 74
17. Regras do Diagrama de Estados

REGRA 1:

O estado é sempre representado por uma elipse, dividida em


dois campos.

Repr esentação do Estado

REGRA 2:

Os estados no diagrama são referenciados por um número


situado na faixa entre 0 e 254. Cada máquina recebe uma
numeração independente.

3 DESL 1

Numeração do Estado

Página 30 de 74
REGRA 3:

A numeração adotada para os estados é usada apenas para


referência. A única consideração é que o CLP ao ser ligado,
inicia a execução do programa sempre pelo estado zero de cada
máquina.

REGRA 4:

Somente um estado pode estar ativo de cada vez num mesmo


Diagrama de Estados. Apenas os comandos e operações desse
estado serão executados nesse momento. Somente, as
condições de transição do estado ativo serão considerados pelo
controlador.

Página 31 de 74
REGRA 5:

As transições de estado podem ter duas formas condicionais.


As condições para transição de estado especificam as relações
que, quando cumpridas, fazem que o CP transfira a atividade
para o estado de destino. As condições para execução imediata
fazem que as ações especificadas sejam executadas dentro do
estado ativo apenas se as relações lógicas forem válidas.

Tr ansição de estado Execução Imediata


IN I = 1
1 1 LIG A 1

IN I = 1

R e pre s e ntação das formas condicionais

REGRA 6:

A transição é representada por uma seta orientada, indicando o


sentido da transferência da atividade quando do cumprimento
das condições de transição.

REGRA 7:

As operações e comandos associadas à condição de execução


imediata são representados dentro de um retângulo, ligado por
uma linha ao estado.

Página 32 de 74
REGRA 8:

O programa ignora todos os estados e transições executados,


somente considerando transições com origem no estado ativo.
Assim, podemos dispensar a preocupação com o acionamento
de entradas fora da seqüência desejada.

REGRA 9:

São aceitas múltiplas condições de transição de um estado para


outro.

Ligação " E " Ligação " OU "

1 1

INI = 1 INI = 1
E OU
MED = 10 MED = 10

2 2

Vinculação entre várias condições de transição

Página 33 de 74
REGRA 10:

São aceitas duas ou mais linhas de transição entre um estado


origem e um destino.

MED = 10 INI = 1

Duas linhas para uma mesma transição

REGRA 11:

O número de transições com origem em cada estado é


ilimitado. O programa pode seguir diversos caminhos a partir
de um estado; o caminho a ser seguido será decidido pela
última condição de transição aprovada.

1 4

3 2

BAT = 1 INI = 0 W00 > 30 W00 = 0

2 3 4 5

Múltiplos caminhos para o programa

Página 34 de 74
REGRA 12:

No caso previsto pela regra anterior, é importante definir o que


acontece se duas ou mais condições estiverem simultaneamente
válidas. Quando a caracterização da ordem de prioridades for
importante, será representada na forma a seguir: - ( 1 ) para o
mais prioritário; ( 2 ) para a segunda prioridade; e assim por
diante.

REGRA 13:

Em determinados casos é necessário definir transições entre


estados sem condição especificada. Esta condição é
representada por uma seta orientada com um traço
perpendicular. Esta condição é representada pela instrução :
VA PARA.

2
W00 = 0

3 LIGA 3

5 W00 = W00 + 1

Transição sem condição especificada

Página 35 de 74
REGRA 14:

Outro tipo de condição de transição é a chamada " Condição


Temporizada ". Neste caso a transição só acontecerá após
decorrido um determinado tempo. O tempo necessário para a
transição aparece ao lado da seta orientada no diagrama. Esta
condição é representada pela instrução: ATRASO.

2
20 Seg

3 LIGA 3

Transição com Condição Temporizada

REGRA 15:

Pode-se combinar uma condição temporizada com um ou mais


testes de variáveis.

1
W00 = 1

2 LIGA 1

INI = 1
5 Seg

3 LIGA 3

Página 36 de 74
REGRA 16:

Cada máquina componente do sistema recebe um número de


referência. A primeira máquina será a 0 (zero), a segunda será 1
e assim por diante, até um número máximo de 64 máquinas.

REGRA 17:

Cada estado é sempre pertencente a uma e somente a uma


máquina.

Página 37 de 74
REGRA 18:

Cada máquina é considerada um processo independente. Não


pode haver transições de um estado de uma máquina para outro
em outra máquina.

Máquina 0:

1 DESL 1,2,3

5 Seg INI = 1

2 LIGA 1

VAA = 1
W00 = 1

3 LIGA 2 4 W 00 = W 00 -1

Máquina 1:

DESL 4,5 AVA = 7

FES = 0
AVA = 1 FES = 1

LIGA 4 W OO = 0 LIGA 3

5 Seg

W00 = W00 + 1
AVA = AVA + 1

R e pre s e ntação de duas máquinas com proce s s os s imultâne os

Página 38 de 74
18. Notação para Comandos e Instruções

- Os sinais " igual ", " ponto ", " vírgula " e espaços em branco
devem ser seguidos rigorosamente na edição. Caso contrário,
serão interpretados incorretamente pelo compilador.

- Os elementos representados em letras minúsculas significam


constantes ou variáveis que devem ser introduzidas nas
posições citadas, de acordo com o que consta em cada
descrição.
Exemplo: DIM aaa(xxx)

- Os elementos entre colchetes " [ ] ", são opcionais na


composição da linha de programa. A sua inclusão ou não
produz efeitos na operação do comando ou instrução.
Exemplo: INTERFACE1[(nnnn)]=yyy

- Os elementos entre " { } ", são alternativos na composição da


linha de programa. Dentro das chaves aparecem dois ou mais
elementos entre colchetes. Para o funcionamento adequado, um
dos elementos entre colchetes deve ser escolhido pelo
programador. A inclusão de cada tipo de elemento produz um
determinado efeito na operação do comando ou instrução,
conforme descrito.
Exemplo:
SE ATRASO=xx{<E>AAA <=> <#> < >> << >bbb ENTAO R

Página 39 de 74
19. Comandos de Configuração do CLP

Os comandos de configuração do CLP tem a finalidade de


especificar parâmetros, habilitar blocos funcionais do sistema
operacional e instruir o compilador em relação a determinados
procedimentos.

Atenção:

A omissão de alguns destes parâmetros irá fazer com que o


periférico correspondente não opere; Parâmetros incorretos
podem levar a erros de compilação ao longo do programa ou
erros de execução no controlador.

Página 40 de 74
20. Tipos de CLP

CLP=GP3011; Configura o sistema para compilação CP 3011


ou CP 3020.

CLP=CPU7; Configura o sistema para compilação CP 2085


com CPU 7.

CLP=CPU6; Configura o sistema para compilação CP 2085


com CPU6.

CLP=BCM2085; Configura o sistema para compilação CP


2085 com CPU 3, 4 ou 4A.

CLP=BCM1086; Configura o sistema para compilação com


CP 1086 ou CP 1086A.

CLP=BCM1088; Configura o sistema para compilação com


CP1088.

ATENÇÃO: Este deve ser o pr imeir o comando na


listagem do programa.

Para uso de Matrizes

DIM aaa(xxx) ; Define a dimensão da matriz numérica " aaa ".


O número de elementos (xxx) pode estar na faixa entre 2 a
65535.

DIMD[n] aaa(xxx) ; Define que a matriz " aaa " para matriz de
display.
Cada elemento = 0 a 99 ( canal do display ).
[n] = unidade de display = 1, 2 ou 3.
Default = 1

Página 41 de 74
Para Contadores Rápidos

CTR[*]=x ; Este comando habilita as rotinas de tratamento dos


contadores rápidos no BCM2085 ( placa CTR ) ou no
BCM1086 (expansão interna EI-3). O parâmetro " x " define o
número de placas utilizadas no sistema. Deve ficar na faixa de
1 a 5. Outro valor provocará erro de compilação. É importante
observar que se este comando não estiver presente, as placas
não serão acessadas e as respectivas variáveis assumirão
valores indeterminados.

Entradas e Saídas Analógicas

ESA=x ; Esse comando habilita a rotina de tratamento de


entradas e saídas analógicas nos CPs BCM. É importante
observar que se este comando não estiver presente, as entradas
e saídas não serão acessadas e as respectivas variáveis
assumirão valores indeterminados.

Número de Estados do Programa

NEST=xxx ; Reserva um espaço de memória para a tabela de


estados. Este espaço deve ser igual ou superior ao número de
estados mais o número de testes independentes de estado de
todo o programa. O valor para " xxx " é aceito na faixa 1 a 999.
Se omitido, o sistema reservará um espaço de 150 estados.

Página 42 de 74
Relógio / Calendário

RTC ; Habilita a operação do relógio de tempo real. Este comando


é usado nos controladores BCM1086A e no BCM2085 CPU7. Para todas
as outras CPUs, é necessário estar com a placa "MEM" instalada.

21. Tipos de Interfaces

INTERFACE2[(nnnn)]=yyy[DE zzz] [EI] ; Ativa a rotina de


comunicação com a rede de equipamentos através do canal
serial dois. O canal serial dois dos controladores BCM
implementa o protocolo geral de comunicação.

" nnnn " = 1200, 9600, 19200, 48000 baud, Default = 1200
baud. Caso sejam usados os dois canais de comunicação
simultaneamente ( INTERFACE1 e INTERFACE2 ), a
velocidade especificada para ambos deve ser a mesma.

Obs: Verificar a velocidade de comunicação compatível com


cada modelo de CP

Página 43 de 74
INTERFACE1[(nnnn)]=yyynnnn (PROTOCOLO=BCM2)
Define os parâmetros relativos à comunicação entre a rede de
CLPs do canal serial 1 e a unidade central. O valor " yyy " é o
código de acesso tal como será reconhecido pela central. O
código permitido deve estar na faixa 1 a 254. O valor " nnnn "
especifica a velocidade de comunicação ( 1200 ou 9600 ). Se
for omitido, é assumido o valor 1200 baud. O parâmetro "
SENHA " especifica a existência da senha e o tempo entre a
senha e o início da transmissão do CLP. O valor " xxx " ( em
centésimos de segundos ) deve estar entre 1 e 250.
O comando “PROTOCOLO=BCM2” especifica o protocolo de
comunicação. Se omitido, assume BCM1

Exemplos:

INTERFACE1(9600)=2
Esse comando irá assumir o código " 2 " de acesso.

INTERFACE2=3 ; Habilita a operação do canal serial 2 do CLP


na velocidade de 1200 baud; o código 3 de acesso. O CLP não será
ativo na rede de comunicação.

INTERFACE2(9600)=3 DE 16 ; Habilita a operação do


canal serial 2 do CLP na velocidade de 9600 baud; código 3
de acesso. O CLP atende o protocolo geral de
comunicação, considerando a existência de 16
equipamentos ligados à rede.

Página 44 de 74
Tipos de Interface

O parâmetro opcional " zzz " especifica o número total de


equipamentos previsto na rede de comunicação. Este é usado
para controle interno do protocolo. Caso não esteja presente, o
CLP não participará do grupo de equipamentos ativos na rede.
O valor " yyy " é o código de acesso, tal como será reconhecido
pelos outros equipamentos da rede. O código permitindo deve
estar na faixa 1 a 254.

A opção " EI " indica que o controlador BCM1086A deve usar


o canal serial da expansão interna, ao invés do canal serial do
módulo principal.

Display Alfanumérico

DISPLAY=DPA[20]; Habilita a operação dos displays


alfanuméricos no BCM2085, BCM1086A e BCM3011. O
controle é feito pela instrução MOSTRA.

Observações importantes
Ao utilizar o comando DISPLAY=DPA, não podem existir
variáveis definidas nas unidades de display 2 e 3.
Ao aparecer uma instrução " MOSTRA " no programa, é
obrigatório que tenha sido colocado um comando
DISPLAY=DPA no início do programa. Caso contrário, o
compilador indica erro.
A opção " DPA20 " é usada quando o display alfanumérico é
de 20 colunas. Caso contrário, o compilador assume que o
display possui 16 colunas.
No CP BCM2085 com CPU 3, 4 ou 4A só é possível utilizar
DPA até 16 colunas. Com CPU 6 ou 7, 1086A e GP3011
pode-se utilizar as 20 colunas disponíveis.

Página 45 de 74
Display Gráfico

O controlador GP3020 possui display gráfico com dois


modos de trabalho:

Modo caracter: Opera da mesma forma que o display


DPA.

Modo gráfico: 5 funções disponíveis:

- Mostra Texto
- Mostra Gráfico XY
- Mostra Texto com Variável
- Mostra figuras em Bitmap (BMP)
- Mostra Gráfico de barras(Bargraph)

Máquina

MAQUINA r:

Marca para o compilador o início dos estados e instruções


relativas a máquina de estados " r ". As máquinas são
numeradas de 0 até 63.

A primeira deve ser SEMPRE máquina 0; a seguir vem


máquina 1; depois a máquina 2 e assim por diante até o final do
programa.

Página 46 de 74
Estado
ESTADO r:

Marca para o compilador o início das instruções relativas ao


estado " r ". Os estados podem ser numerados de 0 até 254.

A numeração pode ser feita em qualquer ordem, pulando


números ou misturando a seqüência de numeração. Não há
qualquer sentido de prioridade ou influência no funcionamento.

O controlador, ao ser ligado, inicia sempre pelo estado zero.

Liga / Desliga

LIGA r1 ; Liga a saída especificada em r1.


DESL s1 ; Desliga a saída especificada em s1.

Exemplo:

ESTADO 4:
LIGA 1,2,5 ; Liga as saídas 1,2 e 5
DESL 3,4 ; Desliga as saídas 3 e 4

Estas instruções servem para ligar ou desligar as saídas


especificadas, quando a máquina entra no estado corrente. As
saídas permanecerão ligadas (ou desligadas) até que seja
executado um comando trocando seus estados.

Página 47 de 74
Set e Reset de Variáveis

SET aaa,bbb,ccc,ddd(iii)

Carrega o valor 1 nas variáveis mencionadas. Qualquer tipo de


variável é aceita, inclusive variáveis matriciais. Equivale à
instrução " FACA aaa=1 E bbb=1 ", etc., com mais clareza na
edição, economia de memória e de tempo de processamento.

Set e Reset de Variáveis

RESET aaa,bbb,ccc,ddd(iii)

Coloca o valor 0 nas variáveis mencionadas. Qualquer tipo de


variável é aceita, inclusive variáveis matriciais. Eqüivale à
instrução " FACA aaa=0 E bbb=0 ", etc., com mais clareza na
edição, economia de memória e de tempo de processamento.

Incremento e Decremento de Variáveis

INCREMENTA aaa,bbb,ccc,ddd(iii)

Incrementa de uma unidade o conteúdo das variáveis


mencionadas. Qualquer tipo de variável é aceita, inclusive
variáveis matriciais. Eqüivale à instrução " FACA aaa=aaa+1 E
bbb=bbb+1 ", etc., com mais clareza na edição, economia de
memória e de tempo de processamento.

Página 48 de 74
Incremento e Decremento de Variáveis

DECREMENTA aaa,bbb,ccc,ddd(iii)

Decrementa de uma unidade o conteúdo das variáveis


mencionadas. Qualquer tipo de variável é aceita, inclusive
variáveis matriciais. Eqüivale à instrução " FACA aaa=aaa-1 E
bbb=bbb-1 ", etc., com mais clareza na edição, economia de
memória e de tempo de processamento.

Todas as instr uções SET, RESET, INCREMENTA e


DECREMENTA de um estado deve estar agrupadas.

Instrução de condição e temporização

SE aaa=bbb ENTAO r

A máquina corrente muda para o estado r caso se cumpra a


condição de " igualdade ".

SE aaa>bbb ENTAO r

A máquina corrente muda para o estado r caso se cumpra a


condição de " maior que ".

Página 49 de 74
Instrução de condição e temporização

A variável " aaa " pode ser de qualquer tipo; o operando " bbb "
pode ser constante ou variável, não podendo ser variável
indexada ou de entrada digital.

A expressão é avaliada seqüencialmente da esquerda para a


direita.

Exemplo:

MAQUINA 0:
ESTADO 0:
SE ALFA#4 OU VAR1=VAR2 ENTAO 20

Instrução de condição e temporização

SE aaa=bbb E ccc=ddd LIGA r1

A saída r é ligada caso se cumpra a condição prevista.

SE aaa=bbb OU ccc=ddd DESL r1

A saída r é desligada caso se cumpra a condição prevista.

Página 50 de 74
Instrução de condição e temporização

" aaa " deve ser uma variável de qualquer tipo; " bbb " pode ser
variável ou constante. Estão disponíveis os testes " igual " (=);
" diferença " (#); " maior que (>); " menor que " (<).
A expressão é avaliada seqüencialmente da esquerda para
direita.

Exemplo:

MAQUINA 0:
ESTADO 0:
SE ENT1<ENT2 E ENT3>6 LIGA 8,10,12

SE ATRASO=xx E aaa=bbb ENTAO r

A máquina corrente muda para o estado r após decorrido o


tempo especificado na constante " xx " ( em décimos de
segundo ) e caso se cumpra as condições previstas. " aaa "
deve ser uma variável de qualquer tipo; " bbb " pode ser
variável ou constante.
O termo " ATRASO=xx " deve ser obrigatoriamente o primeiro
na seqüência de testes.
“ xx “ pode assumir valor até 200 (20 seg.)
Somente o teste " igual " (=) é admissível no termo
"ATRASO".

Página 51 de 74
Instruções Incondicionais

VA PARA r

Mudança imediata do estado corrente para o estado " r "


independente de qualquer condição.

FACA[*] aaa=xxx+yyy E(OU) bbb=yyy+yyy

Esta instrução executa operações aritméticas entre variáveis


e/ou constantes.

Instruções Incondicionais

Todas as variáveis e constantes são de 16 bits ( faixa de 0 a


65535 ). Podem ser usadas variáveis de qualquer tipo exceto
aquelas relativas a entradas digitais. Além disso, algumas
variáveis de atribuição fixa reservadas só para leitura não
podem ser usadas para receber resultados ( exemplo: CT1 a
CT9 ).
As operações possíveis são: soma (+), subtração (-);
multiplicação (*) e divisão (/) e as condições lógicas E e OU.

Página 52 de 74
Instruções Incondicionais

Apesar de todos os operandos serem de 16 bits, as operações


internas de multiplicação e divisão são realizadas em 32 bits
para aumentar a precisão do resultado em cálculos encadeados.

O sinal opcional [*], quando presente, faz que a operação esteja


associada ao estado e não a transição. Neste caso, a operação
será repetida em todos os ciclos de varredura, atualizando a
saída na variação dos operandos. Caso contrário, a operação é
feita apenas quando a máquina entra no estado ( na transição ).

Instruções Incondicionais

Pode se incluir quantas operações quiser numa linha, porém


apenas uma linha " FAÇA " pode existir em cada estado.

Exemplo:

MAQUINA 1:

ESTADO 0:
VA PARA 1

ESTADO 1:
FACA* CONT=GAMA+DELTA-453*8 E VAR6=VAR5-VAR4+VAR3
SE INI=1 ENTAO 1

Página 53 de 74
Instrução para display alfanumérico

MOSTRA [r](l,c)"string1",aaa,"string2"

Esta instrução é utilizada para a apresentação de variáveis e


mensagens nos displays alfanuméricos dos controladores
BCM1086A e BCM2085B.

Apresenta uma combinação de mensagens e conteúdos de


variáveis, posicionados no display na linha " l " ( 1 ou 2 ) e
iniciados na coluna " c " ( 1 a 20 ).

Instrução para display alfanumérico

O atributo " r " permite executar algumas tarefas adicionais


relacionadas à apresentação:

T Limpa a tela antes de apresentar


L Limpa a linha antes de apresentar
Dn Alinha o valor ( conteúdo da variável ) à direita, com "
n " dígitos.
Z Inclui os zeros à esquerda dos valores, se houver " Dn "
Sn Condiciona a apresentação ao valor da variável de
atribuição fixa WWW, igual a " n ". O parâmetro " n " pode
estar entre 0 e 99.

Podem ser utilizados vários atributos combinados, se


necessário.

Página 54 de 74
Instrução para display alfanumérico

Exemplos:

ESTADO 0:
MOSTRA TL(1,4)”Peso:”,W00,”g”
MOSTRA (2,2)”Em Operacao”
SE ABC=1 ENTAO 3

Peso:392g
Em Operacao
ESTADO 0:
MOSTRA TD4(1,2)”Total:”,W00,”,”
MOSTRA D2Z(1,13)W01,”g”
SE ABC=2 ENTAO 3
Total:5315,17g

Página 55 de 74
22. Tratamento de Variáveis

Introdução

As variáveis são os elementos que, em última análise


transportam as informações das interfaces de entrada para o
programa; de uma parte do programa para outra, e do programa
para as interfaces de saída.

O conteúdo das variáveis, processado de forma adequada,


determina o fluxo de todo o programa, controlando as ações a
serem executadas e gerando resultados de saída.

Importante

Uma variável não pode assumir duas atribuições fixas ao mesmo


tempo. Por exemplo: Não é permitido definir uma variável como
entrada analógica e ao mesmo tempo defini-la como variável de
display.

Cada tipo de CP produzido pela BCM possui uma capacidade


determinada de armazenamento de variáveis do hardware do
sistema:
BCM1086: 2814 variáveis
BCM1088: 2814 variáveis
BCM2085 com CPU3, CPU4 ou CPU4A: 2814 variáveis
BCM2085 com CPU3, CPU4 ou CPU4A e módulo MEM: 11000
variáveis
BCM2085 com CPU6: 29400 variáveis
BCM2085 com CPU7: 29440 variáveis
BCM3011: 6912 variáveis
BCM3020: 6912 variáveis

Página 56 de 74
Introdução

Uma característica especial associada as variáveis é a


sua r etentividade. A variável é dita retentiva quando o
controlador possui a capacidade de manter o seu valor
armazenado mesmo na falta de energia ou no desligamento
do controlador. Fisicamente isso é conseguido através do
uso de memória RAM com bateria na placa, para manter os
valores na ausência de alimentação externa. Como iremos
ver a seguir, alguns grupos de variáveis são retentivas e
outras não, conforme a finalidade de cada um.

É importante observar que, devido a retentividade, as


variáveis contém valores aleatórios quando o CP é instalado
pela primeira vez ou quando a bateria é substituída. Nos
sistemas usados em computadores de uso geral, as variáveis
são zeradas na inicialização. Esse fato não pode ser
esquecido pelo programador.

Página 57 de 74
Variáveis de Atribuição Livre

As variáveis de atribuição livre são as que podem ser criadas


pelo programador para atender necessidades próprias da sua
lógica.
O nome de cada variável pode ser escolhido dentro de
qualquer combinação alfanumérica, atendidas as seguintes
restrições:

- Os caracteres permitidos em nomes de variáveis são as letras


de "A" a "Z" e os algarismos de "0" a "9".

- O primeiro caracter do nome de uma variável deve ser uma


letra.

- São permitidos de três a cinco caracteres no nome de uma


variável.

Todas as variáveis deste grupo podem assumir valores


inteiros, positivos e dentro da faixa 0 a 65535.

Variáveis livres

Variáveis Indexadas

Permitir a associação de um índice ao nome.


Esse índice, que pode ser uma constante ou um nome de
variável, colocado entre parênteses, permite a constituição de
matrizes, abrindo um espaço de recursos no armazenamento,
tratamento e recuperação de informações numéricas.

Página 58 de 74
EXEMPLO:

DIM MAT(40)
FACA IND=3
FACA MAT(1)=10 E MAT(2)=20 E MAT(3)=30
SE MAT(IND)=30 ENTAO 0

A expressão condicional da última linha será válida; a matriz


" MAT " contém em suas três primeiras linhas os valores 10, 20
e 30. O comando " DIM " da primeira linha do programa
reserva espaço para uma matriz chamada " MAT ", composta
por quarenta variáveis indexadas.

Variáveis livres

Variáveis Não Indexadas

As variáveis não indexadas não permitem a associação


do índice. Cada variável pode conter apenas um valor
numérico, mantidas todas as características já detalhadas para
as variáveis livres. Neste caso não é necessária nenhuma
pré-definição. O controlador reconhece e aloca espaço para a
variável automaticamente, quando esta é usada pela primeira
vez.

Página 59 de 74
Variáveis de Entrada e Saída

As variáveis de entrada e saída tem a finalidade específica de


proporcionar a ligação entre as operações lógicas do programa
e os interfaces físicas de entrada / saída do controlador. Para
atender esse objetivo, esse grupo de variáveis apresenta as
características básicas já definidas, além de outras que serão
analisadas em cada sub-grupo.
Os nomes das variáveis desse grupo são livremente escolhidos
pelo usuário, respeitando o número e tipos de caracteres
utilizáveis.

Entradas Digitais

Definidas na janela “Variáveis do Programa” (Tipo da


Variável). Cada variável de entrada digital assume o valor " 1 "
ou " 0 ", de acordo com o estado ligado ou desligado da entrada
associada. O sistema operacional se encarrega de ler a porta de
entrada a cada vez que uma expressão condicional citando tal
entrada aparece no programa.
O número de variáveis permitido fica limitado unicamente
pelo hardware utilizado, de acordo com o tipo e configuração
de CP adotado.
As variáveis desse sub-grupo podem ser usadas nas instruções
"SE" e " QUANDO ", não sendo permitido o seu uso em
operações aritméticas ( instrução " FACA " ).

EXEMPLO:

MAQUINA 0:

ESTADO 0:
SE ENT1=1 OU ENT2=0 DESL 8

Página 60 de 74
Entradas Analógicas

Definidas na janela “Variáveis do Programa” (Tipo da


Variável). As variáveis de entrada analógica são atualizadas a
cada ciclo do controlador através da leitura dos conversores A /
D dos módulos específicos. O resultado obtido é transferido
pelo sistema operacional automaticamente para as variáveis
previamente definidas.
Os valores pemitidos dependem do interface A / D usado - No
controlador BCM2085, por exemplo, a placa EAI lê entradas
analógicas em 12 bits, gerando valores na faixa 0 a 4000.

O número de variáveis permitido, fica limitado unicamente


pelo hardware, de acordo com o tipo e configuração de CP
adotado.
As variáveis desse sub-grupo podem ser usadas em testes e
operações aritméticas, com as instruções " SE " e " FACA ".

EXEMPLO:

MAQUINA 0:

ESTADO 1:
SE ENTA=40 ENTAO 40
FACA TOT=ENTA*40+4/SOMA+10

Página 61 de 74
Saídas Analógicas

Definidas na janela “Variáveis do Programa” (Tipo da


Variável). As variáveis de saída analógica tem o seu conteúdo
determinado unicamente pelo programa, através do resultado
de operações aritméticas. O sistema operacional se encarrega
de transferir automaticamente os conteúdos das variáveis para
os conversores D / A disponíveis.
Aqui novamente, os valores permitidos dependem do
interface A / D usado.

No controlador BCM2085, por exemplo, a placa ANA


converte valores na faixa 0 a 255 para uma tensão ou corrente
proporcional ao conteúdo da variável, disponível nos bornes de
saída
O número de variáveis permitido fica limitado unicamente
pelo hardware, de acordo com o tipo e configuração de CP
adotado.
O conteúdo das variáveis desse sub-grupo são controladas
através dos resultados aritméticos na instrução " FACA ". Ao
ser ligado o CP, todas as variáveis desse sub-grupo serão
zeradas.

Saídas Analógicas

EXEMPLO:

MAQUINA 0:

ESTADO 0:
FACA SANA=VAR1+40/VAR2*4
; SANA = saída analógica

Página 62 de 74
Display

Os Cps da BCM possuem uma área de memória para


armazenar variáveis livres chamada “Área de Display”. As
variáveis definidas pelo usuário nesta área terão seus endereços
fixos.
Esta área de memória é indicada para variáveis utilizadas em
comunicação.
No PROCP essas variáveis são declaradas na janela
“Variáveis do Programa” (Tipo da Variável).

Variáveis de Atribuição Fixa

As variáveis de atribuição fixa possuem nomes e atribuições


predeterminadas no contexto da linguagem.
A sua finalidade é a de executar funções específicas,
substituindo instruções e comandos com vantagens de
legibilidade dos programas e facilidade de manejo.
O usuário pode incluir as variáveis desse grupo em testes
lógicos e operações aritméticas, usando as instruções " SE " e "
FACA ".

Cada variável possui uma característica operacional própria,


com faixa de valores e possibilidades de leitura / escrita
definidas para cada caso.
No sentido de agrupar as variáveis de atribuição fixa de
acordo com as suas funções, estas forma divididas em
sub-grupos.
Além disso, cada variável apresenta uma descrição própria do
seu funcionamento.

Página 63 de 74
Temporização

As variáveis de temporização são incrementadas


automaticamente pelo sistema operacional a cada unidade de
tempo definida.
Podem ser usada para leitura, escrita e teste na faixa 0 a
65535. Se a função de temporização exceder 65535, a variável
é zerada e a contagem continua.

É importante observar que as variáveis são totalmente


independentes, isto é, o contador de minutos, por exemplo,
pode ser zerado ou presetado sem que ocorra nenhuma
influência sobre o contador de horas.

HOR Contador de horas. Incrementa uma unidade por hora.


MIN Contador de minutos. Incrementa uma unidade por minuto.
SEC Contador de segundos. Incrementa uma unidade por
segundo.
DEC Contador de décimos. Incrementa uma unidade por décimo
de segundo.
CEN Contador de centésimos. Incrementa uma unidade por centésimo
de segundo.

Página 64 de 74
Relógio

As variáveis de relógio tornam as informações de data e hora


real disponíveis para o programador. Essas variáveis só tem
utilidade quando o sistema está configurado com uma placa ou
com recursos de relógio de tempo real. Essas variáveis estão
disponíveis para inclusão em operações aritméticas ( leitura ) e
operações de teste. A escrita nas variáveis de relógio ( acerto
do relógio / calendário ) deve seguir um roteiro especial,
descrito no capítulo específico sobre cada modelo de
controlador programável.

ANO Variável associada ao relógio de tempo real ( ano atual ).


MES Variável associada ao relógio de tempo real ( mês atual ).
DIA Variável associada ao relógio de tempo real ( dia atual ).
RHOR Variável associada ao relógio de tempo real ( hora atual ).
RMIN Variável associada ao relógio de tempo real ( minuto atual ).
RSEC Variável associada ao relógio de tempo real ( segundo atual ).
DSEM Variável associada ao relógio de tempo real ( dia da semana ).

Página 65 de 74
Controle de Programa

As variáveis de controle de programa atendem operações


internas diversas, relacionadas ao fluxo do programa do
usuário:

CIC
Contador de ciclos de varredura do CP. Essa variável é
incrementada continuamente de 0 a 65535, uma unidade a cada
ciclo do controlador.

E00 a E63

Estado de cada uma das 64 máquinas disponíveis.

Este sub-grupo de variáveis permite ao programa controlar em


uma máquina o que ocorre nas outras, estabelecendo vínculos
entre os diversos ramos lógicos do sistema. Nesta função, estas
podem ser testadas e participar de operações aritméticas, se
necessário. Pode-se ainda forçar mudanças de estado imediatas
em qualquer máquina, colocando valores nessa variável através
da instrução " FACA ". Essa operação eqüivale a mudança de
estado normal, a menos do rearme dos flags aritméticos e de
impressão, os quais não são rearmados quando se executa uma
mudança de estado por esse método.
As variáveis desse sub-grupo admitem valores na faixa 0 a
254.

Página 66 de 74
Regras especiais de Processamento Aritmético

Como foi visto nos capítulos anteriores, as variáveis do


sistema operacional podem assumir valores inteiros, positivos e
dentro da faixa 0 a 65535 ( A menos das limitações nas
variáveis de atribuição fixa ). Quando o resultado de uma
operação extrapola esses limites, as seguintes regras são
aplicáveis:

Operação resulta em valor negativo ==> A variável de saída


assume o valor algébrico do resultado mais 65535.

EXEMPLO:

FACA ARE=1
FACA ASA=ARE-3 ======> RESULTADO:
ASA=(-2)+65535=65534

O resultado excede a faixa permitida ==> A variável de saída


assume o resultado algébrico menos 65536.

EXEMPLO:

FACA ARE=65000
FACA ASA=ARE+600 ======> RESULTADO:
ASA=65600-65536=64

Página 67 de 74
A operação prevista produz um resultado fracionário ==> A
variável de saída assume a parte inteira do resultado,
desprezando a parte fracionária.

EXEMPLO:

FACA ARE=20
FACA ASA=ARE/3 ======> RESULTADO:
ASA=20/3=6

Página 68 de 74
23. Documentação de Projetos

Identificação
Folha de Rosto:

Projeto: Exemplo XX
Nome do cliente:
Nome do cliente final:
Local da instalação:
Identificação do(s) disquete(s) com programa(s):
Nome do(s) Programa(s):
Nome do autor:
Data de início:
Versão do compilador utilizado:

Especificação do Projeto

Ao escrever uma especificação deve ter-se em mente que


todos os detalhes, mesmo que os pareçam óbvios, devem
constar nela.

- Tem como objetivo estabelecer todos os limites do


programa.

- Organiza as idéias do projeto.

- Faz com que muitas dúvidas surjam antes do início da


elaboração do programa.

- Permite que qualquer pessoa possa ter uma clara idéia do


projeto.

Página 69 de 74
Especificação da Solução

Baseado no conhecimento dos módulos e equipamentos


disponíveis, o projetista deverá determinar uma solução
genérica completa para o controle adequado do processo.

Na documentação deve constar um diagrama físico (hardware )


e um fluxograma lógico ( software ) da solução a ser adotada,
acompanhada de uma descrição detalhada de como os objetivos
serão atingidos. Deve-se considerar a inclusão de normas
universais relativas ao assunto, roteiros de testes, manutenção e
qualquer outro assunto pertinente ao processo.

Página 70 de 74
Navegação em Telas

Sempre que o projeto utilizar display alfanumérico DPA


deverá ser feito um diagrama para navegação entre telas,
visando facilitar a operação do equipamento.

EXEMPLO:

GARAGEM F1 COMANDO MANUAL SENHA


APROVADA
GIGANTE SENHA?_ _ _ _
SENHA
CANCELA DE ENTRADA
RECUSADA
1-ABRE 2-FECHA COM?_
2 SEG F1
SENHA
ACESSO CANCELA F2
ENTRADA LIBERADA RECUSADA
1
ACESSO CANCELA
ENTRADA LIBERADA
10
CANCELA DE SAIDA
SEG 3-ABRE 4-FECHA COM?_

ACESSO CANCELA
1 F2
SAIDA LIBERADA

ACESSO CANCELA LIBERA ROLETA


SAIDA LIBERADA 5-ELEV 6-ADMIN COM?_
10
SEG F2

1
ACESSO ROLET A
ENT RADA LIBERADA 2

ACESSO ROLETA
ENTRADA LIBERADA
10
SEG
1
ACESSO ROLET A
ADM LIBERADO

ACESSO ROLETA
ADM LIBERADO
10
SEG

ACESSO 1
RECUSADO
ACESSO
RECUSADO
10
SEG
1

Página 71 de 74
Mapa de Comunicação

Sempre que houver comunicação entre CLPs e sistema


supervisório deverá ser feito um mapa de comunicação.

Mapa de Comunicação - CLP

Nome Variável Operaç ão Destino


CLP1 DEGN LEITURA CLP3
CLP2 CALC ESCRITA CLP1

O CLP de origem é sempre aquele onde está o comando de


leitura ou escrita.

Mapa de Comunicação - Supervisório

Variável CLP Operação Endere ço


ENDED 1 LEITURA 7A02h
ENDIN 2 ESCRITA 7B08h

Neste caso as operações são sempre solicitadas pelo


supervisório. A variável tem o nome usado no programa CLP e
não do supervisório, o mesmo ocorrendo com o endereço.

Página 72 de 74
Mapa de Comunicação - Supervisório

Variável CLP Operação Endere ço


ENDED 1 LEITURA 7A02h
ENDIN 2 ESCRITA 7B08h

Neste caso as operações são sempre solicitadas pelo


supervisório. A variável tem o nome usado no programa CLP e
não do supervisório, o mesmo ocorrendo com o endereço.

Definição de Entradas e Saídas

Entradas Digitais

Núm. Placa Mod. Nome Descrição


1 1 ED1 ALASC Alarme de sobrecorrente
. . . . .
. . . . .
. . . . .
50 4 ED4 TERM Relé Térmico

Página 73 de 74
Definição de Entradas e Saídas

Saídas Digitais

Núm. Placa Mod. Descrição


1 1 SD1 Alarme de sobrecorrente
. . . .
. . . .
. . . .
30 4 SD4 Válvula de Água

Definição de Entradas e Saídas

Entradas Analógicas

Núm. Placa Mod. Nome Descrição


1 1 ESA COM Transdutor de Pressão T1
. . . . .
13 2 EAI20 TERM Temperatura Tanque 1

Saídas Analógicas

Núm. Placa Mod. Nome Descrição


1 1 ANA . Válvula Proporcional V1
. . . . .
. . . . .

Página 74 de 74
Listagem do(s) Programa(s)

A pasta deve conter uma listagem de cada programa do


projeto, sempre na versão mais atual.

O programa deve ser feito de forma que outras pessoas


possam entende-lo, ou seja, todas as informações importantes
devem constar no programa, em forma de comentários e no
cabeçalho.

EXEMPLO DE PROGRAMA
;********************************************************
**
;CLIENTE: Empresa etcetera e tal
;OBJETIVO: Controle de Qualquer Coisa
;ALTERAÇÃO 1:
; AUTOR: Fulano de Tal
; DATA: dd/mm/aa
; MOTIVO: Alteração na Lógica de Alarme
;********************************************************
**
;Todas as máquinas do programa devem conter um pequeno
;cabeçalho descrevendo sua função
;********************************************************
**
MAQUINA 0:
;COLOCA TODAS AS SAÍDAS EM ESTADO DE SEGURANÇA
;********************************************************
**

Página 75 de 75

Você também pode gostar