• Nenhum resultado encontrado

Allen-Bradley HMIs. Controladores Logix5000. Referência do Sistema

N/A
N/A
Protected

Academic year: 2021

Share "Allen-Bradley HMIs. Controladores Logix5000. Referência do Sistema"

Copied!
388
0
0

Texto

(1)

Controladores Logix5000

1756 ControlLogix, 1769 CompactLogix, 1789 SoftLogix,

1794 FlexLogix, PowerFlex 700S com DriveLogix

(2)

Informações Importantes ao Usuário

Por causa da diversidade de usos dos produtos descritos nesta publicação, os responsáveis pela aplicação e usos deste equipamento de controle devem certificar-se de que todas as etapas necessárias foram tomadas para garantir que cada aplicação e uso cumpram todos os requisitos de desempenho e segurança, incluindo todas as leis, regulamentações, códigos e normas aplicáveis. Em nenhum momento a Rockwell Automation será responsável por danos indiretos ou que possam vir acontecer como resultado do uso ou a aplicação destes produtos.

As ilustrações, gráficos, exemplos de programas e de layout mostrados neste manual são apenas para fins ilustrativos. Visto que há diversas variáveis e requisitos associados a qualquer instalação em especial, a Rockwell Automation não assume a responsabilidade (inclusive a responsabilidade por propriedade intelectual) pelo uso real baseado nos exemplos mostrados nesta publicação.

É proibida a reprodução, parcial ou total, deste manual sem a permissão por escrito da Rockwell Automation.

Ao longo deste manual, usamos observações a fim de chamar a sua atenção para algumas considerações de segurança. As anotações a seguir acompanham sinais que ajudam você a identificar, evitar um perigo potencial e a reconhecer as suas conseqüências:

(3)

Resumo das Alterações

Essa versão do Manual de Referência do Sistema de Controladores Logix5000 corresponde à versão 13 dos controladores. As alterações feitas nesse manual

incluem:

• Adição dos controladores CompactLogix 1769-L31, -L32E, -L35E

• Adição do controlador ControlLogix 1756-L60M03SE com a interface de movimento SERCOS incorporada

• Adição das instruções de movimento MCCD, MCCM, MCLM, MCS, MCSD, MCSR, e MCSV

(4)
(5)

Sumário 1

Controladores Logix 1

Família Logix de Controladores . . . 1-1

Controladores ControlLogix (1756-Lx, -LxMx) . . . 1-2

Controladores CompactLogix (1769-Lxx) . . . 1-4

Controladores FlexLogix (1794-L33, -L34) . . . 1-8

Controladores SoftLogix5800 (1789-L10, -L30, -L60) . . . 1-10

PowerFlex 700S com DriveLogix. . . 1-12

Comparação de Controlador . . . 1-14

Seleção do Modo de Operação do Controlador. . . 1-17

Memória Não Volátil . . . 1-18

Criação de um Projeto . . . 1-20

Organizador do Controlador . . . 1-21

Tarefas do Controlador. . . 1-22

Tags do Controlador . . . 1-26

Aliases . . . 1-29

Seleção de uma Linguagem de Programação . . . 1-30

Controle Seqüencial de Funções 2

(6)

Texto Estruturado 3

Sintaxe do Texto Estruturado. . . 3-1

Atributos . . . 3-4

Expressões. . . 3-6

Determinação da seqüência de execução . . . 3-12

Instruções . . . 3-13

Construções. . . 3-15

Comentários . . . 3-25

Diagrama de Bloco de Funções 4

Diagrama de Bloco de Funções . . . 4-1

Edição de um Diagrama de Blocos de Funções. . . 4-2

Seqüência de Execução . . . 4-5

Determinação de uma Malha . . . 4-7

Determinação do Fluxo de Dados Entre Dois Blocos . . . 4-9

Criação de um Atraso de Varredura. . . 4-10

Resumo . . . 4-10

Definição do Controle de Programação/Operação . . . 4-11

Lógica Ladder 5

Lógica Ladder . . . 5-1

Edição de Lógica Ladder . . . 5-3

Condição de Linha . . . 5-4

(7)

Sumário 3

Acesso aos Valores de Sistema 6

Valores de Sistema Armazenados pelo Controlador . . . 6-1

Monitoração de Flags de Status . . . 6-2

Obtenção e Definição de Dados do Sistema (Informações de Status). . . 6-3

Informações de Status Disponíveis – Objetos GSV/SSV . . . 6-5

Determinação das Informações sobre a Memória do Controlador . . . 6-26

Comunicação com Outros Controladores 7

Opções de Comunicação . . . 7-1

Produção e Consumo de um Tag. . . 7-2

Envio de uma Mensagem . . . 7-9

Mapear os Endereços CLP/SLC . . . 7-13

Envie uma Mensagem para Dispositivos Múltiplos . . . 7-15

Forcing 8

O Que Pode ser Forçado . . . 8-1

Force de E/S . . . 8-4

Acompanhamento de uma Transição . . . 8-7

(8)

Falhas do Sistema 9

Falhas do Controlador . . . 9-1

Falha Grave . . . 9-2

Códigos de Falhas Graves. . . 9-7

Falhas de Advertência . . . 9-10

Códigos de Falha de Advertência . . . 9-12

Falhas Definidas Pelo Usuário . . . 9-14

Estruturas de Dados 10

Estruturas Comuns . . . 10-1

Conjunto de Instruções 11

(9)

Controladores Logix

1

Família Logix de Controladores

As Plataformas Logix da Rockwell Automation fornecem uma única arquitetura de controle integrada para controle discreto, inversores, posicionamento e

processo.

A arquitetura Logix integrada fornece um motor de controle comum, ambiente de software de programação e suporte de comunicação através de diversas

plataformas de hardware. Todos os controladores Logix operam com um sistema operacional de multi-tarefas e multi-processamento e suportam o mesmo

conjunto de instruções em diversas linguagens de programação. Um pacote de software de programação 5000 programa todos os controladores Logix.

Além disso, todos os controladores Logix incorporam a arquitetura NetLinx para comunicação através de redes EtherNet/IP, ControlNet e DeviceNet.

PowerFlex 700S com DriveLogix

Uma solução integrada de inversores e

ControlLogix

Plataforma de controle de alto desempenho e multi-processamento

SoftLogix5800

Controle de alto desempenho, baseado em microcomputador

(10)

Controladores ControlLogix (1756-Lx, -LxMx)

Painel Frontal: Indicador: Cor: Descrição:

RUN desenergizado O controlador está no modo Program ou Test. verde sólido O controlador está no modo Run

E/S desenergizado Ou:

• Não há dispositivos na configuração de E/S do controlador

• O controlador não contém um projeto (a memória do controlador está vazia).

verde sólido O controlador está se comunicando com todos os dispositivos em sua configuração de E/S. verde piscante Um ou mais dispositivos na configuração de E/S do controlador não respondem. vermelho

piscante

O rack está danificado. Substitua o rack. FORCE desenergizado Nenhum dos tags contém valores de force de E/S.

os forces de E/S estão inativos (desabilitados). âmbar sólido os forces de E/S estão ativados (habilitados).

Os valores de force de E/S podem ou não existir.

âmbar piscante Um ou mais endereços de entrada ou saída foram forçados a um estado Energizado ou Desenergizado, mas os forces não foram habilitados.

RS232 desenergizado Não há atividade.

(11)

Controladores Logix 1 - 3

BAT desenergizado A bateria suporta memória. vermelho sólido A bateria:

• não está instalada.

• está 95% descarregada e deve ser substituída.

OK desenergizado Sem alimentação aplicada vermelho

piscante

Se o controlador for: Então:

um controlador novo, o controlador requer uma atualização de firmware não for um controlador novo Uma falha grave ocorreu. Para remover a falha:

- Gire a chave seletora de PROG para RUN para PROG - Fique on-line com o software RSLogix 5000

vermelho sólido O controlador detectou uma falha não recuperável, portanto, ele removeu o projeto da memória. Para recuperar:

1. Desligue e ligue a alimentação do rack. 2. Descarregue o projeto

3. Mude para o modo Run.

Se o LED OK permanecer vermelho sólido, entre em contato com seu representante da Rockwell Automation ou seu distribuidor local.

(12)

Controladores CompactLogix (1769-Lxx)

Painel Frontal: Indicador: Cor: Descrição:

RUN desenergizado O controlador está no modo Program ou Test. verde sólido O controlador está no modo Run

FORCE desenergizado Nenhum dos tags contém valores de force de E/S. os forces de E/S estão inativos (desabilitados). âmbar sólido Os forces de E/S estão ativados (habilitados).

Os valores de force de E/S podem ou não existir.

âmbar piscante Um ou mais endereços de entrada ou saída foram forçados a um estado Energizado ou Desenergizado, mas os forces não foram habilitados.

BAT desenergizado A bateria suporta memória. vermelho sólido A bateria:

• não está instalada.

• está 95% descarregada e deve ser substituída.

E/S desenergizada Ou:

• Não há dispositivos na configuração de E/S do controlador

• O controlador não contém um projeto (a memória do controlador está vazia).

verde sólido O controlador está se comunicando com todos os dispositivos em sua configuração de E/S. verde piscante Um ou mais dispositivos na configuração de E/S do controlador não respondem. vermelho

piscante

O controlador não está se comunicando com nenhum dispositivo. O controlador está com falha.

(13)

Controladores Logix 1 - 5

OK desenergizado Sem alimentação aplicada vermelho

piscante

Se o controlador for: Então:

um controlador novo, o controlador requer uma atualização de firmware não for um controlador novo Uma falha grave ocorreu. Para remover a falha:

- Gire a chave seletora de PROG para RUN para PROG - Fique on-line com o software RSLogix 5000

vermelho sólido O controlador detectou uma falha não recuperável, portanto, ele removeu o projeto da memória. Para recuperar:

1. Desligue e ligue a alimentação do rack. 2. Descarregue o projeto

3. Mude para o modo Run.

Se o LED OK permanecer vermelho sólido, entre em contato com seu representante da Rockwell Automation ou seu distribuidor local.

verde sólido O controlador está OK.

verde piscante O controlador está armazenado ou carregando um projeto para ou de uma memória não-volátil. DCH0 desligar As comunicações configuradas pelo usuário estão ativas.

(14)

Controladores CompactLogix (1769-L31, -L32E, -L35E) - CompactFlash

Controladores CompactLogix (1769-L32E, -L35E) - EtherNet

Indicador: Cor: Descrição:

CompactFlash CF

desenergizado sem atividade

verde piscante O controlador está lendo ou escrevendo no cartão CompactFlash. vermelho

piscante

O cartão CompactFlash não possui um sistema de arquivo válido.

Indicador: Cor: Descrição:

EtherNet/IP MS desenergizado Não há atividade.

verde piscante A porta EtherNet/IP não tem um endereço IP e está operando no modo BOOTP. verde sólido A comunicação EtherNet/IP está ativa.

vermelho sólido Um dos seguintes ocorreu:

• O controlador está mantendo a porta EtherNet/IP em reset ou o controlador tem uma falha. • A porta EtherNet/IP está desempenhando seu auto-teste de energização.

• Uma falha não recuperável ocorreu. Desligue e ligue a alimentação do controlador.

vermelho piscante

(15)

Controladores Logix 1 - 7

EtherNet/IP NS desenergizado Não há atividade. A porta EtherNet/IP não tem um endereço IP e está operando no modo BOOTP. verde piscante A porta EtherNet/IP possui um endereço IP, porém, não há conexões CIP estabelecidas. verde sólido A porta EtherNet/IP possui um endereço IP e as conexões CIP estão estabelecidas. vermelho sólido O endereço IP atribuído já está em uso.

vermelho/verde piscante

A porta EtherNet/IP está desempenhando seu auto-teste de energização.

EtherNet/IP LNK desenergizado A porta EtherNet/IP não está conectada corretamente à rede EtherNet/IP. Certifique-se de que todos os cabos Ethernet estejam conectados e de que o Ethernet switch esteja energizado.

verde piscante Um dos seguintes ocorreu:

• A porta EtherNet/IP está desempenhando seu auto-teste de energização. • A porta EtherNet/IP está se comunicando na rede.

verde sólido A porta EtherNet/IP está conectada corretamente à rede EtherNet/IP.

(16)

Controladores FlexLogix (1794-L33, -L34)

Painel Frontal: Indicador: Cor: Descrição:

RUN desenergizado O controlador está no modo Program ou Test. verde sólido O controlador está no modo Run

OK desenergizado Sem alimentação aplicada vermelho piscante Se o controlador for: Então:

um controlador novo, o controlador requer uma atualização de firmware não for um controlador novo Uma falha grave ocorreu. Para remover a falha:

- Gire a chave seletora de PROG para RUN para PROG - Fique on-line com o software RSLogix 5000 vermelho sólido O controlador detectou uma falha não recuperável, portanto, ele removeu o projeto da

memória. Para recuperar:

1. Desligue e ligue a alimentação do rack. 2. Descarregue o projeto

3. Mude para o modo Run.

Se o LED OK permanecer vermelho sólido, entre em contato com seu representante da Rockwell Automation ou seu distribuidor local.

verde sólido O controlador está OK.

verde piscante O controlador está armazenado ou carregando um projeto para ou de uma memória não volátil. BATTERY desenergizado A bateria suporta memória.

vermelho A bateria:

• não está instalada.

(17)

Controladores Logix 1 - 9

E/S desenergizado Ou:

• O descarregamento do controlador do projeto não foi feito (a condição após a energização) • Nenhuma E/S ou comunicação configurada

verde sólido O controlador está se comunicando com todos os dispositivos. verde piscante Um ou mais dispositivos não estão respondendo

local e LOCAL2

desenergizado O trilho está inibido

verde sólido O controlador está se comunicando com todos os dispositivos no trilho. verde piscante Um ou mais dispositivos naquele trilho não estão respondendo vermelho piscante Não existe módulo naquele trilho

RS232 desenergizado Não há atividade.

verde sólido Dados sendo recebidos ou transmitidos FORCE desenergizado Nenhum dos tags contém valores de force de E/S.

os forces de E/S estão inativos (desabilitados).

(18)

Controladores SoftLogix5800 (1789-L10, -L30, -L60)

Painel Frontal: Indicador: Cor: Descrição:

RUN desenergizar O controlador está no modo Program ou Test. verde sólido O controlador está no modo Run

E/S desenergizar Ou:

• Não há dispositivos na configuração de E/S do controlador

• O controlador não contém um projeto (a memória do controlador está vazia).

verde sólido O controlador está se comunicando com todos os dispositivos em sua configuração de E/S. verde piscante Um ou mais dispositivos na configuração de E/S do controlador não respondem. vermelho

piscante

Um erro virtual do rack foi detectado. Entre em contato com o seu representante da Rockwell Automation ou seu distribuidor local.

FRC desenergizar Nenhum dos tags contém valores de force de E/S. os forces de E/S estão inativos (desabilitados). verde piscante Pelo menos um tag contém um valor de force de E/S.

Os valores do force de E/S estão inativos (desabilitados). verde sólido Os forces de E/S estão ativados (habilitados).

Os valores de force de E/S podem ou não existir. RS232(1) desenergizado Nenhuma porta COM foi selecionada.

verde sólido A porta COM selecionada foi atribuída com sucesso ao canal 0 do controlador. vermelho sólido Existe uma porta COM em conflito ou você selecionou um número de porta COM inválido.

(19)

Controladores Logix 1 - 11

BAT(1) desenergizado Operação normal.

âmbar piscante O controlador está no modo de energização

vermelho sólido Armazenamento continua para o controlador que falhou. OK vermelho

piscante

Se o controlador for: Então:

um controlador novo, o controlador requer uma atualização de firmware não for um controlador novo Uma falha grave ocorreu. Para remover a falha:

- Gire a chave seletora de PROG para RUN para PROG - Fique on-line com o software RSLogix 5000

vermelho sólido O controlador detectou uma falha não recuperável, portanto, ele removeu o projeto da memória. Para recuperar:

1. Desligue e ligue a alimentação do rack. 2. Descarregue o projeto

3. Mude para o modo Run.

Se o LED OK permanecer vermelho sólido, entre em contato com seu representante da Rockwell Automation ou seu distribuidor local.

verde sólido O controlador está OK.

(20)

PowerFlex 700S com DriveLogix

Painel Frontal: Indicador: Cor: Descrição:

RUN desenergizado O controlador está no modo Program ou Test. verde sólido O controlador está no modo Run

FORCE desenergizado Nenhum dos tags contém valores de force de E/S. os forces de E/S estão inativos (desabilitados). âmbar piscante Pelo menos um tag contém um valor de force de E/S.

Os valores do force de E/S estão inativos (desabilitados). âmbar sólido Os forces de E/S estão ativados (habilitados).

Os valores de force de E/S podem ou não existir. BAT desenergizado A bateria suporta memória.

vermelho sólido A bateria:

• não está instalada.

• está 95% descarregada e deve ser substituída.

E/S desenergizado Ou:

• Não há dispositivos na configuração de E/S do controlador

• O controlador não contém um projeto (a memória do controlador está vazia).

verde sólido O controlador está se comunicando com todos os dispositivos em sua configuração de E/S. verde piscante Um ou mais dispositivos na configuração de E/S do controlador não respondem. vermelho

piscante

(21)

Controladores Logix 1 - 13

RS232 desenergizado Nenhuma porta COM foi selecionada.

verde sólido A porta COM selecionada foi atribuída com sucesso ao canal 0 do controlador. vermelho sólido Existe uma porta COM em conflito ou você selecionou um número de porta COM inválido. OK vermelho

piscante

Se o controlador for: Então:

um controlador novo, o controlador requer uma atualização de firmware não for um controlador novo Uma falha grave ocorreu. Para remover a falha:

- Gire a chave seletora de PROG para RUN para PROG - Fique on-line com o software RSLogix 5000

vermelho sólido O controlador detectou uma falha não recuperável, portanto, ele removeu o projeto da memória. Para recuperar:

1. Desligue e ligue a alimentação do rack. 2. Descarregue o projeto

3. Mude para o modo Run.

Se o LED OK permanecer vermelho sólido, entre em contato com seu representante da Rockwell Automation ou seu distribuidor local.

verde sólido O controlador está OK.

(22)

Comparação de Controlador

Características Comuns 1756 ControlLogix 1769 CompactLogix 1789 SoftLogix 1794 FlexLogix PowerFlex 700S com DriveLogix

tarefas do controlador • contínua • periódica • evento

• 32 tarefas (somente uma contínua)

• tarefas de evento: é compatível com todos os disparadores de evento

• 1769-L35E: 8 tarefas • 1769-L32E: 6 tarefas • 1769-L31: 4 tarefas • 1769-L20, -L30: 4 tarefas • somente uma tarefa pode

ser contínua

• tarefas de evento: suporta disparo de tag consumido e instrução de EVENTO

• 32 tarefas (somente uma contínua)

• tarefas de evento: suporta todos os disparadores de eventos, mais os de saída e eventos Windows

• 8 tarefas (somente uma contínua)

• tarefas de evento: suporta disparo de tag consumido e instrução EVENT

• 8 tarefas (somente uma contínua)

• tarefas de evento: suporta tags consumidos, eixos e disparadores de eventos de posicionamento

memória do usuário 1756-L55M12 750 Kbytes 1756-L55M13 1,5 Mbytes 1756-L55M14 3,5 Mbytes 1756-L55M16 7,5 Mbytes 1756-L55M22 750 Kbytes 1756-L55M23 1. 5 Mbytes 1756-L55M24 3,5 Mbytes 1756-L60M03SE 750 kbytes 1756-L61 2 Mbytes 1756-L62 4 Mbytes 1756-L63 8 Mbytes 1769-L20 64 Kbytes 1769-L30 256 Kbytes 1769-L31 512 kbytes 1769-L32E 750 kbytes 1769-L35E 1,5 Mbytes 1789-L10 2 Mbytes 3 ranhuras sem posicionamento 1789-L30 64 Mbytes 5 ranhuras 1789-L60 64 Mbytes 16 ranhuras 1794-L33 64 KBytes

1794-L34 512 Kbits 256 Kbytes768 Kbytes com expansão de memória

(23)

Controladores Logix 1 - 15

memória não volátil do usuário 1756-L55M12 nenhuma 1756-L55M13 nenhuma 1756-L55M14 nenhuma 1756-L55M16 nenhuma 1756-L55M22 sim 1756-L55M23 sim 1756-L55M24 sim 1756-L60M03SE CompactFlash 1756-L61 CompactFlash 1756-L62 CompactFlash 1756-L63 CompactFlash 1769-L20 sim 1769-L30 sim 1769-L31 CompactFlash 1769-L32E CompactFlash 1769-L35E CompactFlash nenhuma 1794-L33 sim 1794-L34/B sim

sim (memória de expansão)

portas de comunicação incorporadas • 1 porta serial RS- 232 (DF1 ou ASCII) • 1769-L20: 1 porta serial RS-232 (DF1 ou ASCII) • 1769-L30, -L31: 2 portas RS-232 (somente uma DF1, outra DF1 ou ASCII) • 1769-L32E, -L35E: 1 porta

EtherNet/IP e 1 porta serial RS-232 (DF1 ou ASCII)

depende do microcomputador • 1 porta serial RS-232 (DF1 ou ASCII)

• 2 slots para cartões de comunicação 1788

• 1 porta serial RS-232 (DF1 ou ASCII)

• 1 slot para cartões de comunicação 1788

opções de comunicação (estas opções possuem produtos e perfis

EtherNet/IP ControlNet EtherNet/IP DeviceNet EtherNet/IP ControlNet EtherNet/IP ControlNet EtherNet/IP ControlNet

Características Comuns 1756 ControlLogix 1769 CompactLogix 1789 SoftLogix 1794 FlexLogix PowerFlex 700S com DriveLogix

(24)

E/S nativa 1756 ControlLogix I/O 1769 Compact I/O nenhuma 1794 FLEX I/O

1797 FLEX Ex I/O 1794 FLEX I/O1797 FLEX Ex I/O movimento simples de passo

servo via DeviceNet Inversor de freqüência analógico

de passo servo via DeviceNet inversor freqüência analógico

de passo servo via DeviceNet inversor freqüência analógico

de passo servo via DeviceNet inversor freqüência analógico

de passo servo via DeviceNet inversor freqüência analógico movimento integrado interface SERCOS

interface analógica interface hidráulica

interface SSI

não aplicável interface SERCOS interface analógica

não aplicável 1 servo pleno 1 eixo de realimentação

opções de montagem e/ou instalação

1756 rack suporte do painel Guia DIN

nenhuma suporte do painel Guia DIN

incorporado no PowerFlex 700S linguagens de programação • lógica ladder• texto estruturado

• bloco de Funções

• controle seqüencial de funções

• lógica ladder • texto estruturado • bloco de Funções • controle seqüencial de funções • lógica ladder • texto estruturado • bloco de Funções • controle seqüencial de funções • rotinas externas (DLLs do Windows desenvolvidas usando C/C++) • lógica ladder • texto estruturado • bloco de Funções • controle seqüencial de funções • lógica ladder • texto estruturado • bloco de Funções • controle seqüencial de funções

Características Comuns 1756 ControlLogix 1769 CompactLogix 1789 SoftLogix 1794 FlexLogix PowerFlex 700S com DriveLogix

(25)

Controladores Logix 1 - 17

Seleção do Modo de Operação do Controlador.

Use esta tabela para determinar o modo de operação do controlador:

Se você quiser: Selecione um destes modos:

Run Remote Program

Run Test Program

muda as saídas para o estado comandado pela lógica do projeto X X

muda as saídas para seus modos configurados para o modo Program X X X executa (varredura) tarefas X X X

muda o modo do controlador através do software X X X

descarrega um projeto X X X X programa uma rede ControlNet X X enquanto estiver on-line, edita o projeto X X X X

(26)

Memória Não Volátil

Estes controladores possuem memória não volátil para armazenamento do projeto.

Tipo de Controlador: Código de Catálogo: Revisão de Firmware:

CompactLogix5332E 1769-L32E(1)

(1) Requer um cartão de memória 1784-CF64 Industrial CompactFlash.

13.x ou superior CompactLogix5335E 1769-L35E(1) 12.x ou superior CompactLogix5331 1769-L31(1) 13.x ou superior CompactLogix5330 1769-L30 10.x ou superior CompactLogix5320 1769-L20 10.x ou superior ControlLogix5555 1756-L55M22 10.x ou superior 1756-L55M23 8.x ou superior 1756-L55M24 8.x ou superior ControlLogix5560M03SE 1756-L60M03SE(1) 13.x ou superior ControlLogix5561 e ControlLogix5562 1756-L61, -L62(1) 12.x ou superior ControlLogix5563 1756-L63(1) 11.x ou superior DriveLogix5720 vários 10.x ou superior FlexLogix5433 1794-L33 10.x ou superior FlexLogix5434 Série B 1794-L34/B 11.x ou superior

(27)

Controladores Logix 1 - 19

Nas propriedades do controlador, selecione armazenar/carregar um projeto de/para uma memória não volátil:

Projeto que está na memória não volátil do controlador atualmente (se houver um projeto).

(28)

Criação de um Projeto

(29)

Controladores Logix 1 - 21

Organizador do Controlador

O software de programação usa o Organizador do Controlador para definir um projeto.

Tarefa Contínua

Programa

Rotina Tarefa

(30)

Tarefas do Controlador

Uma tarefa fornece informações de seqüenciamento e prioridade para um conjunto de um ou mais programas executados com base em critérios específicos.

Uma vez que uma tarefa é disparada (ativada), todos os programas atribuídos (seqüenciados) às tarefas são executados na ordem em que são mostrados no

organizador do controlador.

Tarefa: Definição:

tarefa contínua A tarefa contínua é executada em segundo plano. Qualquer tempo de CPU não alocado para outras operações (como posicionamento, comunicação e tarefas periódicas ou eventuais) é usado para executar os programas na tarefa contínua.

• A tarefa contínua é executada a todo o tempo. Quando a tarefa contínua conclui uma varredura completo, ela reinicia imediatamente. • Um projeto não requer uma tarefa contínua. Se usada, deve haver apenas uma tarefa contínua.

tarefa periódica Uma tarefa periódica realiza uma função em uma taxa específica.

• Sempre que o tempo para a tarefa periódica expirar, a tarefa periódica interrompe qualquer tarefa de prioridade mais baixa, executa uma vez e volta para o controle de onde a tarefa anterior parou.

• Você pode configurar o período de tempo de 1 ms a 2000 s. O padrão é 10 ms. O desempenho de uma tarefa periódica depende do tipo do controlador Logix e da lógica da tarefa.

Atribua um nível de prioridade (1 é o mais alto, 15 é o mais baixo) para cada tarefa periódica:

• A tarefa com prioridade mais alta interrompe todas as tarefas com prioridade mais baixa.

• Uma tarefa com prioridade alta pode interromper tempos múltiplos de uma tarefa com prioridade menor. • As tarefas com a mesma prioridade executam em uma base de tempo curto em intervalos de 1 ms.

tarefa por evento Uma tarefa por evento desempenha uma função somente quando um evento específico (disparo) ocorre. Sempre que o disparo para a tarefa de evento ocorrer, a tarefa interrompe qualquer tarefa de prioridade mais baixa, executa uma vez e volta para o controle de onde a tarefa anterior parou.

Os disparos disponíveis são Mudança de Estado de Dados de Entrada do Módulo, tag Consumido, Registro de Eixo 1 ou 2, Observação de Eixo, Execução de Grupo de Posicionamento, Instrução EVENT.

(31)

Controladores Logix 1 - 23

O número de tarefas suportadas depende do controlador:

Controlador Número de Tarefas Suportadas:

ControlLogix 32 tarefas, uma das quais pode ser contínua

Existem 15 níveis de prioridade configuráveis para tarefas periódicas (1-15), sendo 1 a maior prioridade e 15 a menor. CompactLogix 1769-L35E: 8 tarefas, uma das quais pode ser contínua

1769-L32E: 6 tarefas, uma das quais pode ser contínua 1769-L31, -L30, -L20: 4 tarefas, uma das quais pode ser contínua

Existem 15 níveis de prioridade configuráveis para tarefas periódicas (1-15), sendo 1 a maior prioridade e 15 a menor. O controlador CompactLogix usa uma tarefa periódica dedicada na prioridade 7 para processar os dados de E/S. Esta tarefa periódica é executada no RPI mais rápido programado para o sistema. Seu tempo de execução total é o tempo que leva para executar a varredura dos módulos de E/S configurados. FlexLogix

e

PowerFlex 700S com DriveLogix

8 tarefas, uma das quais pode ser contínua

Existem 15 níveis de prioridade configuráveis para tarefas periódicas (1-15), sendo 1 a maior prioridade e 15 a menor.

O controlador usa uma tarefa periódica dedicada na prioridade 7 para processar os dados de E/S. Esta tarefa periódica é executada no RPI mais rápido programado para o sistema. Seu tempo de execução total é o tempo que leva para executar a varredura dos módulos de E/S configurados. SoftLogix5800 32 tarefas, uma das quais pode ser contínua

(32)

Quando a tarefa é acionada, os programas definidos na tarefa são executados até a conclusão, do primeiro até o último. Cada programa contém tags de

programa, uma rotina principal, outras rotinas e uma rotina opcional de falha. Quando um programa executa, sua rotina principal executa primeiro. Use a

rotina principal para chamar (executar) outras rotinas (sub-rotinas). Para chamar uma outra rotina em um programa, use uma instrução JSR (Salto para

Sub-rotina).

Detalhes de tarefa de evento

Não são todos os controladores Logix que suportam disparos de tarefa de evento:

Se você tiver esse

controlador:

Então é possível utilizar estes disparos de tarefa de evento:

Mudança de Estado de Dados do Módulo de Entrada

Tag consumido Registros de Eixo 1 ou 2 Observação de Eixo Execução de Grupo de Posicionamento Instrução EVENT CompactLogix X X FlexLogix X X ControlLogix X X X X X X DriveLogix X X X X SoftLogix5800 X(1)

(1) Requer um módulo 1756 I/O ou um backplane virtual.

X(2)

(2) Um controlador SoftLogix5800 produz e consome tags somente em uma rede ControlNet.

(33)

Controladores Logix 1 - 25

Para utilizar um módulo de entrada para disparar uma tarefa de evento, o módulo deve suportar o disparo da tarefa de evento. Se o módulo estiver em um

local remoto, os módulos de comunicação associados devem também suportar o disparo do evento. Esses módulos podem acionar uma tarefa de evento.

Categoria: Módulo Categoria: Módulo Categoria: Módulo

1756 Discreto 1756-IA8D 1756 Analógico 1756-IF16 1756 Comunicação 1756-CNB/A, -CNB/B, -CNB/D

1756-IA16, -IA16I 1756-IF4FXOF2F/A 1756-CNBR/A, -CNBR/B, -CNBR/D

1756-IA32 1756-IF6CIS 1756-DNB 1756-IB16, -IB16D, -IB16I 1756-IF6I 1756-ENBT/A 1756-IB16ISOE 1756-IF8 1756-SYNCH/A 1756-IB32/A, -IB32/B 1756-IR6I 1756 Genérico 1756-MODULE 1756-IC16 1756-IT6I SoftDNB 1784-PCIDS/A 1756-IG16 1756-IT6I2 1789 Genérico 1789-MODULE 1756-IH16I, -IH16ISOE 1756 Especializado 1756-CFM/A

(34)

Tags do Controlador

Os tipos de dados mais comuns são:

Para organizar seus dados:

Para: Selecione: Para: Selecione:

dispositivo analógico em modo de ponto flutuante REAL ponto de E/S digital BOOL dispositivo analógico em modo inteiro (para taxas de

amostra muito rápidas)

INT número de ponto flutuante REAL caracteres ASCII grupo inteiro (todo o número) DINT bit BOOL seqüenciador CONTROL contador CONTADOR temporizador TIMER

Para um: Use um:

grupo de atributos comuns que são usados por mais de uma máquina tipo de dados definido pelo usuário

grupo de dados com o mesmo tipo de dados vetor

valor único tag de um único elemento dispositivo de E/S

(35)

Controladores Logix 1 - 27

Criação de um Tag

No menu Logic, selecione Edit Tags.

É possível configurar tags para se comunicarem diretamente com outros controladores:

Para: Use um:

enviar dados no backplane e na rede ControlNet em um intervalo específico tag produzido receber dados de outro controlador através do backplane ou da rede ControlNet em

um intervalo específico

(36)

Criação de um tipo de dados definidos pelo usuário

(37)

Controladores Logix 1 - 29

Aliases

Um tag alias permite criar um tag que represente outro tag.

• Os tags compartilham o(s) mesmo(s) valor(es).

• Quando o valor de um tag muda, o outro tag também reflete a mudança.

drill_1_depth_limit é um alias para

Local:2:I.Data.3 (um ponto de entrada digital).

Quando a entrada é energizada, o tag alias

drill_1_on é um alias Local:0:O.Data.2

(um ponto de saída digital). Quando o

tag alias é energizado, o tag de saída

também é energizado.

(38)

Seleção de uma Linguagem de Programação

Em geral, se a função ou grupo de funções representar: Use esta linguagem:

execução contínua ou paralela de múltiplas operações (não seqüenciadas) lógica ladder operações baseadas em bit ou booleanos

operações lógicas complexas

processamento de comunicação e mensagem intertravamento de máquina

operações em que a equipe de serviço ou manutenção pode ter que interpretar para localizar as falhas da máquina ou processo.

processo contínuo e controle do inversor diagrama do bloco de funções controle da malha

cálculos em fluxo de circuito

gestão de múltiplas operações em alto nível controle seqüencial de funções (SFC) seqüências repetitivas de operações

processo por batelada

controle de posicionamento usando texto estruturado estado de operações da máquina

(39)

Controladores Logix 1 - 31

operações matemáticas complexas texto estruturado vetor especializado ou tabela de processamento de malha

manipulação da string ASCII ou processamento de protocolo

(40)
(41)

Controle Seqüencial de Funções

2

Controle Seqüencial de Funções

Um controle seqüencial de funções (SFC) é semelhante a um fluxograma. Ele usa os passos e transições para realizar operações e ações específicas.

Um passo representa uma função principal do processo. Ele contém os eventos que ocorrem

em um tempo particular, fase ou estação. Uma ação é uma das funções que a etapa realiza.

Uma transição é uma condição verdadeira ou falsa que informa o SFC quando ir para o próximo passo. Um qualificador determina quando uma ação começa e quando ela pára.

(42)

Exemplo de SFC continuação

continuação

Uma ramificação de seleção escolhe entre diferentes caminhos de execução.

Uma caixa de texto permite a adição de texto descritivo ou observações ao seu SFC.

INÍCIO

(43)

Controle Seqüencial de Funções 2 - 3

Exemplo de SFC continuação

Um comando stop permite parar e esperar por um comando para reiniciar. Um fio conecta um elemento a um outro

(44)

Edição de um SFC

Este botão da barra de ferramentas: Cria este elemento SFC: Descrição:

par passo e transição Adiciona um par passo/transição. Veja as descrições para passo e transição abaixo. passo Adiciona um passo.

Um passo representa uma função principal do processo. Ele contém os eventos que ocorrem em um tempo particular, fase ou estação.

transição Adiciona uma transição.

Uma transição é uma condição verdadeira ou falsa ou condições que determinam quando ir para o próximo passo.

ação Adiciona uma ação ou uma ação booleana ao passo selecionado. Clique no passo e depois pressione este botão.

Uma ação representa uma divisão funcional de um passo. Várias ações compõem um passo. Cada ação realiza uma função específica, como controlar um motor, abrir uma válvula ou colocar um grupo de dispositivos em um modo específico.

Cada ação inclui um qualificador. Quando o passo está ativo (em execução), o qualificador determina quando a ação começa e quando ela pára.

(45)

Controle Seqüencial de Funções 2 - 5

divergência de ramificação de seleção Inicie uma ramificação de seleção Use o novo botão de caminho para adicionar caminhos à estrutura de ramificação.

divergência de ramificação simultânea Inicie uma ramificação simultânea. Use o novo botão de caminho para adicionar caminhos à estrutura de ramificação.

convergência de elementos SFC Finalize a ramificação atual. Selecione o último passo de cada caminho na ramificação e então pressione este botão.

Uma ramificação simultânea terminal com uma linha dupla horizontal e sem transição. Uma ramificação de seleção termina com uma transição para cada caminho e uma única linha horizontal.

ramificação estendida Adicione um caminho à ramificação. Clique no primeiro passo do caminho que está à esquerda de onde deseja adicionar um novo caminho e então pressione o botão.

parar Finalize um caminho em uma ramificação sem conectar outros elementos SFC.

(46)

Estrutura SFC_STEP

Membro: Tipo de

Dados:

Detalhes:

A DINT Quando uma etapa se torna ativa, o valor do Temporizador (T) reseta e começa a contagem crescente em milissegundos. O temporizador continua a contagem crescente até o passo ficar inativo, não importando o valor de Preset (PRE).

PRE DINT Insira o tempo no membro Preset (PRE). Quando o Temporizador (T) alcançar o valor de Preset, o bit Done (DN) energiza e permanece assim até o passo se tornar ativo novamente.

Como opção, insira uma expressão numérica que calcule o tempo no tempo de execução.

DN BOOL Quando o Temporizador (T) alcançar o valor de Preset (PRE), o bit Done (DN) energiza e permanece assim até o passo se tornar ativo novamente.

LimitLow DINT Insira o tempo no membro LimitLow.

• Se o passo se tornar inativo antes que o Timer (T) alcance o valor LimitLow , o bit AlarmLow se ativa. • O bit AlarmLow fica energizado até que seja resetado.

• Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn). AlarmEn BOOL Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn).

AlarmLow BOOL Se o passo se tornar inativo antes que o Timer (T) alcance o valor LimitLow , o bit AlarmLow se ativa. • O bit fica energizado até resetá-lo.

• Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn). LimitHigh DINT Insira o tempo no membro LimitHigh.

• Se o temporizador (T) alcançar o valor LimitHigh, o bit AlarmHigh energiza. • O bit AlarmHigh fica energizado até que seja resetado.

• Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn). AlarmEn BOOL Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn).

(47)

Controle Seqüencial de Funções 2 - 7

AlarmHigh BOOL Se o temporizador (T) alcançar o valor LimitHigh, o bit AlarmHigh energiza. • O bit fica energizado até resetá-lo.

• Para usar os bits de alarme, energize (marque) o bit AlarmEnable (AlarmEn). X BOOL O bit X está energizado durante todo o tempo que o passo estiver ativo (em execução). FS BOOL O bit FS está energizado durante o primeira varredura do passo.

SA BOOL O bit SA está energizado quando o passo está ativo com exceção durante a primeira e última varredura do passo. LS BOOL O bit LS está energizado durante a última varredura do passo. Use este bit apenas se fizer o seguinte: Na caixa de diálogo

Controller Properties, guia SFC Execution, defina Last Scan of Active Step para Don’t Scan ou Programmatic reset.

Reset BOOL Uma instrução SFC Reset (SFR) reseta o SFC para um passo ou parada que a instrução especificar. • O bit Reset indica para qual passo ou parada o SFC irá para iniciar a execução novamente. • Uma vez que SFC executar, o bit Reset desenergiza.

TMax DINT Use isso para fins de diagnóstico. O controlador desenergiza esse valor somente quando você seleciona Restart Position de

Restart at initial step e o controlador altera os modos ou experiências de um ciclo de alimentação.

OV BOOL Use isso para fins de diagnóstico.

Membro: Tipo de

Dados:

(48)

Status DINT Para esse membro: Use esse bit: Reset 22 AlarmHigh 23 AlarmLow 24 AlarmEn 25 OV 26 DN 27 LS 28 SA 29 FS 30 X 31 Membro: Tipo de Dados: Detalhes:

(49)

Controle Seqüencial de Funções 2 - 9

Estrutura SFC_ACTION

Membro: Tipo de Dados: Detalhes:

Q BOOL O status do bit Q depende se ação é booleana ou não booleana:

Se a ação for: Então o bit Q é:

booleana energizado (1) o tempo inteiro em que a ação está ativa, incluindo o última varredura da ação

não booleana energizado (1) enquanto a ação está ativa, mas desenergizado (0) na última varredura da ação Para usar um bit a fim de determinar quando uma ação está ativa, use o bit Q.

A BOOL O bit A está energizado o tempo todo que a ação está ativa.

A DINT Quando uma ação se torna ativa, o valor do Temporizador (T) reseta e começa a contagem crescente em milissegundos. O temporizador continua a contagem crescente até a ação ficar inativa não importando o valor de Preset (PRE).

PRE DINT Insira o limite de tempo ou de atraso no membro Preset (PRE). A ação começa ou pára quando o Temporizador (T) alcança o valor de Preset.

Count DINT Isso não é uma contagem de varreduras da ação.

(50)

Qualificadores

Se você quer que a ação: E: Atribua esse

qualificador: Que significa:

comece quando o passo for ativado parar quando o passo for desativado N Não armazenado (padrão) execute somente uma vez P1 Pulso (Borda

Crescente) pare antes do passo ser desativado ou quando o passo estiver

desativado L Tempo Limitado permanece ativa até que uma ação Reset desative essa ação S Armazenado permanece ativa até que uma ação Reset desative essa ação

ou um tempo específico expire, mesmo se a etapa estiver desativada

SL Tempo Armazenado e Limitado

comece um tempo específico após a etapa ser ativada e a etapa ainda

estiver ativa parar quando o passo for desativado D Tempo de Atraso permanece ativa até que uma ação Reset desative essa ação DS Atrasado e

Armazenado comece um tempo específico após o passo ser ativado, mesmo se o

passo for desativado antes desse tempo

permanece ativa até que uma ação Reset desative essa ação SD Tempo Armazenado e de Atraso

execute uma vez quando um passo for ativado execute uma vez quando o passo for desativado P Pulso comece quando o passo for desativado execute somente uma vez P0 Pulso (Borda de

Descida) desenergize (resete) uma ação armazenada:

• S Armazenado

• SL Armazenado e Tempo Limitado • DS Com Atraso e Armazenado • SD Armazenado e Tempo de Atraso

(51)

Controle Seqüencial de Funções 2 - 11

Estrutura SFC_STOP

Membro:

Tipo de

Dados:

Detalhes:

X BOOL • Quando SFC alcança o elemento de parada, o bit X energiza.

• O bit X desenergiza se configurar os SFCs para reiniciar no passo inicial e o controlador para mudar do modo de programação para o modo de operação.

• Em um SFC encadeado, o bit X também desenergiza se você configurar os SFCs para o reset automático e o SFC para sair do passo que chama o SFC encadeado.

Reset BOOL Uma instrução SFC Reset (SFR) reseta o SFC para um passo ou parada que a instrução especificar. • O bit Reset indica para qual passo ou parada o SFC irá para iniciar a execução novamente. • Uma vez que SFC executar, o bit Reset desenergiza.

Count DINT Isso não é uma contagem de varreduras da parada.

• A contagem incrementa cada vez que a parada se torna ativa.

• Ela incrementa novamente somente após a parada ficar inativa e ativa de novo.

• A contagem reseta somente se configurar o SFC para reiniciar no passo inicial. Com essa configuração, ela reseta quando o controlador alterar de um modo de programação para um modo de operação.

Status DINT Para esse membro: Use esse bit:

(52)

Como Você Quer Usar a Ação?

Há dois tipos de ações:

Utilização de uma Ação Não Booleana

Uma ação não booleana contém a lógica para a ação. Ela usa o texto estruturado para executar as atribuições e instruções ou chamar uma sub-rotina. Com

as ações não booleanas, é possível também ter a opção de postscan(resetar automaticamente) as atribuições e instruções antes de sair do passo:

• Durante o postscan o controlador executa as atribuições e instruções como se todas as condições fossem falsas.

• Os postscan do controlador são incorporados ao texto estruturado e a qualquer sub-rotina que a ação chame.

Utilização de uma Ação Booleana

Uma ação booleana não contém nenhuma lógica para a ação. Ela simplesmente energiza um bit em seu tag (estrutura SFC_ACTION). Para realizar a ação,

outra lógica deve monitorar o bit e executar quando estiver energizado. Com as ações booleanas, você precisa resetar manualmente as atribuições e

instruções associadas à ação. Como não há vínculo entre a ação e a lógica que realiza a ação, a opção de reset automático não interfere nas ações booleanas.

É possível reutilizar a ação booleana múltiplas vezes no mesmo SFC.

Se você quiser: Use:

executar o texto estruturado diretamente no SFC ação não booleana chamar uma sub-rotina

usar a opção de reset automático para resetar os dados ao sair do passo

(53)

Controle Seqüencial de Funções 2 - 13

Configuração da Execução de um SFC

(54)
(55)

Texto Estruturado

3

Sintaxe do Texto Estruturado

O texto estruturado é uma linguagem de programação textual que usa as declarações para definir o que executar.

• O texto estruturado é sem distinção entre maiúsculas e minúsculas.

• Use as guias e mecanismo de retorno de carro (linhas separadas) para tornar seu texto estruturado mais fácil de ler. Eles não têm efeito na execução

do texto estruturado.

(56)

O texto estruturado pode conter esses componentes:

Termo: Definição: Exemplos:

atributo (consulte a página 3-4)

Use uma declaração de atribuição para atribuir os valores aos tags. O operador := é um operador de atribuição.

Termine a atribuição com um ponto e vírgula “;”.

tag := expression;

expressão (consulte a página 3-6)

Uma expressão é parte de uma atribuição completa ou declaração de construção. Uma expressão avalia para um número (expressão numérica) ou para um estado verdadeiro ou falso (expressão BOOL). Uma expressão contém:

tags Uma área nomeada da memória em que os dados são armazenados (BOOL, SINT,INT,DINT, REAL, string).

value1

imediatos Um valor constante. 4

operadores Um símbolo ou mnemônico que especifica uma operação em uma expressão.

tag1 + tag2 tag1 >= value1

funções Quando executada, uma função produz um valor. Use parênteses para limitar o operando de uma função.

Embora sua sintaxe seja similar, as funções são diferentes das instruções em que as funções possam somente ser usadas em expressões. As instruções não podem ser usadas em expressões.

function(tag1)

instrução (consulte a página 3-13)

Uma instrução é uma declaração independente. Uma instrução usa parênteses para conter seus operandos.

Dependendo da instrução, pode haver zero, um ou múltiplos operandos.

Quando executada, uma instrução produz um ou mais valores que são parte de uma estrutura de dados. Termine a instrução com um ponto e vírgula “;”.

As instruções não podem ser usadas em expressões. As funções podem ser usadas somente em expressões.

instruction();

instruction(operand);

(57)

Texto Estruturado 3 - 3

A inserção de espaços em uma sintaxe de texto estruturado é opcional. Espaços não possuem efeito na execução do texto estruturado. Por exemplo, estas

duas declarações fazem a mesma execução:

Tag_B:=Tag_A

Tag_B := tag_a

construção (consulte a página 3-15)

Uma declaração condicional usada para iniciar o código de texto estruturado (isto é, outras declarações).

Termine a construção com um ponto e vírgula “;”.

IF...THEN CASE FOR…DO WHILE…DO REPEAT…UNTIL EXIT comentário (consulte a página 3-25)

O texto que explica ou esclarece o que uma coluna de texto estruturado faz. Use os comentários para interpretar o texto estruturado de forma mais fácil. Os comentários não afetam a execução do texto estruturado.

Os comentários podem aparecer em qualquer lugar no texto estruturado.

//comment

(*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

(58)

Atributos

Use um atributo para alterar o valor armazenado em um tag. Um atributo possui essa sintaxe:

tag := expression ;

Onde:

O tag retém o valor atribuído até que uma outra atribuição altere o valor.

Componente: Descrição:

tag representa o tag que está obtendo o novo valor o tag deve ser BOOL, SINT, INT, DINT ou REAL := é o símbolo de atribuição

expressão representa o novo valor para atribuir ao tag

Se otag for deste tipo de dados: Use esse tipo de expressão:

BOOL expressão BOOL SINT DINT

INT REAL

expressão numérica ; termina a atribuição

(59)

Texto Estruturado 3 - 5

Especificação de um atributo não retentivo

Uma atribuição não retentiva é resetada para zero cada vez que o controlador:

• entrar o modo RUN

• deixa a etapa de um SFC se o SFC for configurado para Automatic reset.

Uma atribuição não retentiva possui essa sintaxe:

tag [:=] expression ;

Onde:

Componente: Descrição:

tag representa o tag que está obtendo o novo valor o tag deve ser BOOL, SINT, INT, DINT ou REAL [:=] é um símbolo de atribuição não retentiva

(60)

Expressões

Uma expressão é um nome do tag, equação ou comparação. Para escrever uma expressão, use:

• o nome do tag que armazena o valor (variável)

• o número inserido diretamente na expressão (valor imediato)

• funções, como: ABS, TRUNC

• operadores, como: +, –, <, >, And, Or

Expressão BOOL: Uma expressão que produz o valor BOOL de 1 (verdadeiro) ou 0 (falso).

• Uma expressão BOOL usa os tags BOOL, operadores relacionados e operadores lógicos para comparar os valores ou verificar se as condições são

verdadeiras ou falsas. Por exemplo, tag1>65.

• Uma expressão BOOL simples pode ser um único tag BOOL.

• Geralmente, usam-se expressões BOOL para condicionar a execução de outra lógica.

Expressão numérica: Uma expressão que calcula um valor inteiro ou de ponto flutuante.

• Uma expressão numérica usa operadores aritméticos, funções aritméticas e operadores bitwise. Por exemplo, tag1+5.

• Geralmente, você encadeia uma expressão numérica em uma expressão BOOL. Por exemplo, (tag1+5)>65.

(61)

Texto Estruturado 3 - 7

Operadores aritméticos

Os operadores aritméticos calculam os novos valores.

Para: Use este operador: Tipo de dados otimizados:

adicionar + DINT, REAL subtração/negação – DINT, REAL multiplicar * DINT, REAL expoente (x elevado a y) ** DINT, REAL dividir / DINT, REAL módulo-divisão MOD DINT, REAL

(62)

Funções aritméticas

As funções aritméticas realizam operações matemáticas. Especifique uma constante, um tag não booleano ou uma expressão para a função.

Para: Use esta função: Tipo de dados

otimizados:

valor absoluto ABS (numeric_expression) DINT, REAL arco coseno ACOS (numeric_expression) REAL arco seno ASIN (numeric_expression) REAL arco tangente ATAN (numeric_expression) REAL coseno COS (numeric_expression) REAL radianos para graus DEG (numeric_expression) DINT, REAL logarítmo natural LN (numeric_expression) REAL logarítmo base 10 LOG (numeric_expression) REAL graus para radianos RAD (numeric_expression) DINT, REAL seno SIN (numeric_expression) REAL raiz quadrada SQRT (numeric_expression) DINT, REAL tangente TAN (numeric_expression) REAL truncar TRUNC (numeric_expression) DINT, REAL

(63)

Texto Estruturado 3 - 9

Operadores relacionados

Os operadores relacionados comparam dois valores ou grupos para fornecer um resultado verdadeiro ou falso. O resultado de uma operação relacionada é

um valor BOOL:

Se a comparação for: O resultado é:

verdadeira 1 falsa 0

Para essa comparação: Use este operador: Tipo de dados otimizados:

igual = DINT, REAL, grupo menor que < DINT, REAL, grupo menor ou igual a <= DINT, REAL, grupo maior que > DINT, REAL, grupo

(64)

Operadores lógicos

Os operadores lógicos permitem verificar se múltiplas condições são verdadeiras ou falsas. O resultado de uma operação lógica é um valor BOOL:

Se a comparação for: O resultado é:

verdadeira 1 falsa 0

Para: Use este operador: Tipo de Dados:

AND lógico &, AND BOOL OR lógico OR BOOL XOR lógico XOR BOOL NOT lógico NOT BOOL

(65)

Texto Estruturado 3 - 11

Operadores bitwise

Os operadores bitwise manipulam os bits em um valor baseado em dois valores.

Para: Use este operador: Tipo de dados otimizados:

bitwise E &, AND DINT OR OR DINT bitwise exclusivo OU XOR DINT NOT NOT DINT

(66)

Determinação da seqüência de execução

As operações escritas em uma expressão são realizadas em uma seqüência prescrita, não necessariamente da esquerda para a direita.

• Operações com seqüência igual são realizadas da esquerda para a direita.

• Se uma expressão contiver operadores múltiplos ou funções, agrupe as condições em parênteses “( )” para garantir a ordem correta.

Seqüência: Operação: 1. () 2. função (…) 3. ** 4. − (negação) 5. NOT 6. *, /, MOD 7. +, - (subtração) 8. <, <=, >, >= 9. =, <> 10. &, AND 11. XOR 12. OR

(67)

Texto Estruturado 3 - 13

Instruções

As declarações do texto estruturado também podem ser instruções. Consulte a Tabela de Localização no início desse manual para uma lista de instruções

disponíveis no texto estruturado. Uma instrução de texto estruturado executa toda vez que é varrida. Uma instrução de texto estruturado com uma

construção executa toda vez que as condições de construção forem verdadeiras. Se as condições de construção forem falsas, as declarações na construção

não são scaneadas. Não há condição de linha ou transição de estado que inicie a execução.

Isso difere das instruções do bloco de funções que usam EnableIn para iniciar a execução. As instruções de texto estruturado executam se EnableIn estiver

sempre energizado.

Isso difere também das instruções de lógica ladder que usam a entrada da condição de linha para iniciar a execução. Algumas instruções da lógica ladder

somente são executadas quando a entrada da condição de linha alterna de falso para verdadeiro. Essas são instruções de lógica ladder são transicionais. No

texto estruturado, as instruções serão executadas toda vez que forem scaneadas a menos que você pré-condicione a execução da instrução de texto

estruturado.

Por exemplo, a instrução ABL é uma instrução transicional na lógica ladder. Nesse exemplo, a instrução ABL é executada somente em uma varredura

quando as transições tag_xic forem de desenergizada para energizada. A instrução ABL não é executada quando tag_xic fica energizada ou quando tag_xic está

desenergizada.

(68)

No texto estruturado, se você escrever este exemplo como:

IF tag_xic THEN ABL(0,serial_control);

END_IF;

A instrução ABL será executada a cada varredura em que tag_xic estiver energizada, não apenas quando as transições tag_xic forem de desenergizada para

energizada.

Se você quiser que a instrução ABL execute somente quando as transições tag_xic forem de desenergizada para energizada, precisará condicionar a instrução

de texto estruturado. Use um monoestável para iniciar a execução.

osri_1.InputBit := tag_xic;

OSRI(osri_1);

IF (osri_1.OutputBit) THEN

ABL(0,serial_control);

END_IF;

(69)

Texto Estruturado 3 - 15

Construções

As construções podem ser programadas uma a uma ou encadeadas em outras construções.

Se você quiser: Use esta construção: Consulte página:

fazer algo se ou quando as condições específicas ocorrerem IF...THEN 3-16 selecionar o que fazer com base em um valor numérico CASE...OF 3-17 fazer algo um número de vezes determinadas antes de fazer mais alguma

coisa

FOR…DO 3-19 continuar a fazer algo enquanto certas condições são verdadeiras WHILE…DO 3-21 continuar a fazer algo até que uma condição seja verdadeira REPEAT…UNTIL 3-23

(70)

IF...THEN

Use IF…THEN para fazer algo se ou quando as condições específicas ocorrerem. A sintaxe é:

IF bool_expression THEN

<statement >; declarações a serem executadas quando

bool_expression1 for verdadeiro

. . .

opcional ELSIF bool_expression2 THEN

<statement >; declarações a serem executadas quando

bool_expression2 for verdadeiro

. . . opcional ELSE

<statement>; declarações a serem executadas quando as expressões forem falsas

. . . END_IF;

(71)

Texto Estruturado 3 - 17

CASE...OF

Use CASE para selecionar o que fazer baseado em um valor numérico. A sintaxe é:

CASE numeric_expression OF especifica os valores possíveis

do seletor alternativo (caminhos) à medida que você precisar

selector1 : <statement>;

. . .

declarações a serem executadas quando

numeric_expression = selector1

selector2 :

<statement>;

. . .

declarações a serem executadas quando

numeric_expression = selector2

selector3 :

<statement>;

. . .

declarações a serem executadas quando

numeric_expression = selector3

(72)

A sintaxe para inserção dos valores do seletor é:

Quando o seletor for: Insira:

um valor value: statement

múltiplo, com valores distintos value1, value2, valueN : <statement>

Use uma vírgula (,) para separar cada valor. uma faixa de valores value1..valueN : <statement>

Use dois pontos (..) para identificar a faixa. valores distintos mais uma faixa

de valores

(73)

Texto Estruturado 3 - 19

FOR…DO

Use a malha FOR…DO para fazer algo com um número específico de vezes antes de fazer algo mais. A sintaxe é:

FOR count := initial_ value TO final_value

opcional { BY increment Se não especificar um incremento, a malha incrementa pelo 1.

DO

<statement >;

opcional IF bool_expression THEN

EXIT; Se houver condições quando quiser sair da malha antes, use outras declarações, como a construção IF...THEN, para a condição de uma declaração EXIT. END_IF;

(74)

Os diagramas a seguir mostram como uma malha FOR...DO executa e como uma declaração EXIT deixa a malha mais cedo.

declaração 1 declaração 2 declaração 3 declaração 4 … Executado x número de vezes? não sim resto da rotina declaração 1 declaração 2 declaração 3 declaração 4 … Sair ? Executado x número de vezes? não sim resto da rotina sim não

A malha FOR…DO executa um número específico de vezes. Para parar a malha antes que a contagem alcance o último valor, use uma declaração EXIT.

(75)

Texto Estruturado 3 - 21

WHILE...DO

Use a malha WHILE…DO para continuar algo enquanto certas condições forem verdadeiras. A sintaxe é:

WHILE bool_expression DO

<statement>; declarações para serem executadas enquanto

bool_expression1 é verdadeiro

opcional IF bool_expression2 THEN

EXIT; Se houver condições quando quiser sair da malha antes, use outras declarações, como a construção IF...THEN, para a condição de uma declaração EXIT. END_IF;

END_WHILE;

(76)

Os diagramas a seguir mostram como uma malha WHILE...DO se executa e como uma declaração EXIT deixa a malha mais cedo.

Enquanto bool_expression for verdadeira, o controlador

executa somente as declarações na malha WHILE…DO.

Para parar a malha antes das condições serem verdadeiras, use uma declaração EXIT.

declaração 1 declaração 2 declaração 3 declaração 4 … Sair ? expressão BOOL verdadeira falsa resto da rotina sim não declaração 1 declaração 2 declaração 3 declaração 4 … expressão BOOL verdadeira falsa resto da rotina

(77)

Texto Estruturado 3 - 23

REPEAT...UNTIL

Use a malha REPEAT…UNTIL para continuar a fazer algo até que as condições sejam verdadeiras. A sintaxe é:

REPEAT

<statement>; declarações para serem executadas enquanto

bool_expression1 for falso

opcional IF bool_expression2 THEN

EXIT; Se houver condições quando quiser sair da malha antes, use outras declarações, como a construção IF...THEN, para a condição de uma declaração EXIT. END_IF;

UNTIL bool_expression1 END_REPEAT;

(78)

Os diagramas a seguir mostram como uma malha REPEAT...UNTIL se executa e como uma declaração EXIT deixa a malha mais cedo.

Enquanto bool_expression for falsa, o controlador executa

somente as declarações na malha REPEAT…UNTIL.

Para parar a malha antes das condições serem falsas, use uma declaração EXIT. declaração 1 declaração 2 declaração 3 declaração 4 … expressão BOOL falsa verdadeira resto da rotina expressão BOOL falsa verdadeira resto da rotina declaração 1 declaração 2 declaração 3 declaração 4 … Sair ? sim não

(79)

Texto Estruturado 3 - 25

Comentários

Para acrescentar comentários ao texto estruturado:

Para acrescentar um comentário: Use um desses formatos:

em uma única linha //comment (*comment*) /*comment*/ ao final de uma linha do texto estruturado

em uma linha do texto estruturado (*comment*) /*comment*/

que ocupe mais de uma linha (*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

(80)
(81)

Diagrama de Bloco de Funções

4

Diagrama de Bloco de Funções

Os diagramas de blocos de funções são programas visuais que podem conter os seguintes elementos. Cada bloco de funções é uma instrução que define uma

ação de controle.:

referência de entrada (IREF) bloco de funções

conector do fio de saída (OCON) referência de saída (OREF)

(82)

Edição de um Diagrama de Blocos de Funções.

Este botão da barra de ferramentas: Cria este elemento ladder: Descrição:

IREF Adiciona uma referência de entrada para fornecer um valor a partir de um dispositivo de entrada ou tag.

OREF Adiciona uma referência de saída para enviar um valor para dispositivo de saída ou tag. ICON Adiciona conectores de entrada e de saída. Use conectores de fios para transferir dados entre

blocos de função quando eles estiverem: • distantes da mesma planilha

• em diferentes planilhas na mesma rotina

Use conectores de fios para dispersar dados para diversos pontos na rotina atribuindo um OCON para diversos ICONs.

OCON

instrução Selecione um bloco de funções específico para executar uma operação em um valor ou valores de entrada e produza um valor ou valores de saída

Use as guias na parte inferior da barra de ferramentas para exibir outros blocos de funções disponíveis.

Referências

Documentos relacionados

Por vezes, o localizador necessita de alterar não só o texto como também possíveis imagens ou a forma como estas são apresentadas, sendo o exemplo mais óbvio o caso de

A seleção portuguesa feminina de andebol de sub-20 perdeu hoje 21-20 com a Hungria, na terceira jornada do Grupo C do Mundial da categoria, a decorrer em Koprivnica, na

INDICADORES AMBIENTAIS ESSENCIAIS: UMA ANÁLISE DA SUA UTILIZAÇÃO NOS RELATÓRIOS DE SUSTENTABILIDADE DAS EMPRESAS DO SETOR DE ENERGIA ELÉTRICA SUL AMERICANO, ELABORADOS

O objetivo desse estudo foi caracterizar a pesca de tubarões e raias desembarcados em Camocim, principal porto pesqueiro do Ceará, incluindo sua composição de espécies;

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

Dessa forma, os níveis de pressão sonora equivalente dos gabinetes dos professores, para o período diurno, para a condição de medição – portas e janelas abertas e equipamentos

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Não houve diferença significativa para as variáveis comprimento de raízes comerciais e diâmetro de raízes comerciais; os clones 06 e 14 e a cultivar sergipana apresentaram