Reset Ligação de um sinal de reset (botão de emergência ou outro)



Documentos relacionados
1. SINTAXE DA LINGUAGEM ASSEMBLY

Programação Básica em STEP 7 Blocos de Dados. SITRAIN Training for Automation and Drives. Página 8-1

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Algoritmos e Programação

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

4.1. UML Diagramas de casos de uso

Descrição do Produto. Altus S. A. 1

Algoritmos DCC 119. Introdução e Conceitos Básicos

Computação II Orientação a Objetos

Estrutura de Dados Básica

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Variáveis e Comandos de Atribuição

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Programação: Tipos, Variáveis e Expressões

Introdução aos automatismos industriais. Centro de Formação

Técnico/a de Refrigeração e Climatização

UNIDADE 6 - PROGRAMAÇÃO MODULAR

CONTROLADORES LÓGICOS PROGRAMÁVEIS - CLP

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Guia rápido de criação e gestão de um espaço no SAPO Campus

Sistema de formação e certificação de competências

Unidade 5: Sistemas de Representação

Linguagens de Programação

Trabalho 3: Agenda de Tarefas

Gravador VUB-400 OPERAÇÃO. Telemax Telecomunicações e Electrónica, Lda telemax@telemax.pt Tel: /

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

Guia de Utilização Gestão de Mensagens Fornecedor Janeiro 2010 PLATAFORMA ELECTRÓNICA VORTAL

Organização de Computadores 1

Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Aula 2 Sistemas de Numeração (Revisão)

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Facturação Guia do Utilizador

TEMA: Gestão de equipamentos Exemplo: Máquina de lavagens de viaturas

JSP - ORIENTADO A OBJETOS

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE

Circuitos Digitais 144L

REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2011 / 2012

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. Dados de testes. Programa. Fixtures. classes. Resultados de testes

Controladores Lógicos Programáveis

Especificação Operacional.

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

O COMPUTADOR. Introdução à Computação

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

Manual do Teclado de Satisfação Online WebOpinião

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

MANUAL DE UTILIZAÇÃO DO SISTEMA HERMES

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

ESTRATÉGIAS /ACTIVIDADES. Fazer uma abordagem teórica e simples

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

INTRODUÇÃO OBJECT PASCAL/DELPHI

Observação das aulas Algumas indicações para observar as aulas

MANUAL DE INSTRUÇÕES

Arquimedes e Controle de Obra

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Visão Artificial Para a Indústria. Manual do Utilizador

S&M - SISTEMAS DE AUTOMAÇÃO

Introdução ª Parte - Acesso à Aplicação Avaliação Online... 4 I Aceder à Aplicação Inscrição Acesso à Aplicação...

Modos de entrada/saída

Sistemas de Numeração

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Sistemas Operacionais. Prof. André Y. Kusumoto

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Descrição do Serviço Diagnóstico no Local

Tipo de Dados em Linguagem C

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Controladores Lógicos Programáveis CLP (parte-3)

Conectar diferentes pesquisas na internet por um menu

PHC Servicos BENEFÍCIOS. _Gestão de reclamações. _Controlo de processos que necessitem de informação centralizada

MDI Facturação Alterações Fiscais DL 197 e 198 de 24 de agosto de 2012

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Implementando uma Classe e Criando Objetos a partir dela

Controladores Lógicos Programáveis. Automação e Controlo Industrial. Escola Superior de Tecnologia. Ricardo Antunes, António Afonso

Linguagem de Montagem 2. Operações e Operandos

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

exercícios - cap Construa uma máquina de estados que ilustre os requisitos de uma máquina multibanco (levantamento de dinheiro)

Introdução à Lógica de Programação

Gestor de Janelas Gnome

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Conceitos básicos da linguagem C

Serviço para implementação de atualização de firmware HP

Certidão Permanente. Manual de Procedimentos

Ambiente de desenvolvimento de Programação Assembly MCU 8051 IDE

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados

Algoritmos e Técnicas de

Algoritmos e Programação Parte Teórica

Aplicação de RMAs - Instruções

Módulo 1 Microsoft Word 2007 ( 4 Horas)

Aperfeiçoamento Técnico com respeito ao Profissional.

Redes de Computadores II

1. Verificar se a Microsoft.NET Framework 2.0 está instalada. Se não estiver, efectuar o download a partir do link e instalar:

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Transcrição:

12. Automação 12.1. Programação sequencial O S7 da SIEMENS como todos os PLC s, caracterizam-se por executar os seus programas por varrimentos cíclicos. Ou seja a cada período de tempo (milissegundos dependendo do tamanho do programa), todas as linhas de código são percorridas e executadas. Apesar de vantajoso, esta forma de executar os programas também causa algumas dificuldades adicionais sempre que se pretende que exista uma estrutura de código sequencial. Ou seja, execução de operações encadeadas em que não se executa a acção i se não se tiver concluído a acção i-1. A forma de ultrapassar este problema passa pela utilização da expressão genérica vulgarmente conhecida por equação geral de etapa: E i = E i + 1 Reset( E i 1 T i + E i ) Sendo: E i - Etapa presente E i 1 - Etapa anterior i+ 1 i E - Etapa seguinte T - Transição que deve ser verdadeira para que se cumpra E i Reset Ligação de um sinal de reset (botão de emergência ou outro) Apesar de no S7 apenas se disponibilizar a programação em Higraph (Grafcet) como opcional, a elaboração do Grafcet nível 1 e nível 2 apresenta-se como uma boa escolha para uma mais fácil interpretação do problema e passagem a código em qualquer linguagem de programação de PLC s. O Grafcet poderá então funcionar como um algoritmo para a programação de blocos de código sequenciais. Como base o S7 disponibiliza de imediato as programação em: KOP (Ladder ou linguagem de contactos) Mais destinada a utilizadores familiarizados com esquemas eléctricos Exemplo de KOP

AWL - Mais destinada a utilizadores que preferem programar a nível de máquina Exemplo de AWL FUP - Mais destinada a utilizadores mais familiarizados com álgebra booleana. Exemplo de FUP Como opção é ainda possível obter pacotes de software de programação em: SCL - Mais destinada a utilizadores familiarizados com linguagens de alto nível como Pascal, C etc. Graph - Mais destinada a utilizadores familiarizados com Grafcet HiGraph Também mais destinada a utilizadores familiarizados com Grafcet CFC Para utilizadores com poucos conhecimentos de autómatos programáveis.

12.2. SIEMENS S7 12.2.1. Configuração do hardware Faz-se através de: Aqui abre-se o software HW Config que permite seleccionar os módulos existentes no PLC e os racks onde se encontram ligados. Não será possível fazer o correcto endereçamento ao hardware existente (por exemplo I/Os), se este não estiver devidamente configurado.

12.2.2. Tabela de símbolos Torna possível a atribuição de nomes com algum significado para programador, às variáveis do programa que está a construir. Está acessível através de: Exemplo de preenchimento Exemplo de programa que utiliza a tabela de símbolos

12.2.3. Utilização de variáveis As variáveis globais utilizam-se entre plicas ( ) As variáveis locais utilizam-se precedidas de # 12.2.4. Blocos lógicos o OB s Organization Bloc Programação de utilizador. Consultar os vários tipos de OB s disponíveis e suas prioridades. Torna-se necessário que a execução de um OB pode ser interrompida por outro de maior prioridade. Aconselha-se a consulta da ajuda do Step 7 para uma abordagem mais exaustiva, mas entre eles, destacam-se os seguintes: OB1 É executado ciclicamente, e é tipicamente o OB onde se constrói o corpo do programa de utilizador. Tem a prioridade mais baixa. OB100 a OB101 OB s executados em situações de arranque do PLC. Têm prioridade elevadíssima. Podem por exemplo ser utilizados numa situação em que queremos que num programa sequencial, o programa se posicione em determinado ponto da sequência. Por exemplo ponto de arranque (0). OB10 a OB17 OB s de execução por alarme horário. Executam-se em determinada altura ou então com determinada periodicidade. o FC s Blocos de funções programáveis, que não têm associada nenhuma memória. Ou seja, não é necessário (mas é possível) a utilização de um DB para transferência de dados memorizados. Assim sendo as variáveis são apenas locais, perdendo-se após cada chamada do FC. o FB s Function Bloc Pode ser considerado como uma sub-rotina que é executada sempre que chamada por outro bloco de programação. Diferenciase dos FC s por possuir memória (memória de instância). Os parâmetros que se transferem para o FB, assim como as variáveis estáticas, memorizam-se no DB. As variáveis temporais memorizam-se na pilha de dados locais.

o DB Data Bloc Local de definição de dados para serem utilizados pelos FC s (globais) e FB s. A estrutura de blocos de dados (DB s) associados a um FB (de instancia) não se pode alterar. Se tal se tornasse necessário, seria mais conveniente modificar-se antes o FB em questão e criar novamente o DB associado. o SFB s, SFC s FB s ou FC s de sistema pré-feitos. Utilizam-se da mesma forma que os FB s e FC s de utilizador. 12.2.5. Programação estruturada Torna-se evidente que para programas extremamente simples, é possível elaborar o programa recorrendo apenas ao OB1. Contudo para programas mais complexos justifica-se uma melhor arquitectura do código, facilitando a sua interpretação. O conceito de blocos de código reutilizáveis torna-se uma realidade com a utilização de FB s e FC s.

12.2.5.1. Chamada de um FC (KOP) Começa-se por fazer as associações das descrições textuais com os endereços/funções na tabela de símbolos, como por exemplo: Posteriormente ao criar o nosso FC, fazem-se as declarações dos parâmetros no seu cabeçalho, como por exemplo: Por não parecer interessante, não é aqui visualizado o conteúdo do FC. Note-se que o parâmetro Engine_On e Timer_Function são parâmetros de entrada, e Fan_on é um parâmetro de saída. A chamada do FC pode ser feita por exemplo no OB1 da seguinte forma: 12.2.5.2. Chamada de um FB (KOP) É bastante semelhante à chamada dos FC s, distinguindo-se pela necessidade de existir um bloco de dados de instância (DB) associado à chamada do FB. Como exemplo: Associações na tabela de símbolos:

Posteriormente ao criar o nosso FB1 Motor, fazem-se as declarações dos parâmetros no seu cabeçalho, como por exemplo: Relembrar que dentro do FB, a utilização dos parâmetros locais é precedida por um símbolo # em vez das habituais plicas X. Pode ver-se o exemplo do segmento existente no FB1 Motor Neste ponto podemos então que criar o DB 1 Gasolina necessário para transferir os dados para o FB 1 Motor. Saliente-se que este DB tem que ter os dados estruturados da mesma forma que o cabeçalho de parâmetros do nosso FB1 Motor. A cria ção de DB s permite importar automaticamente a estrutura dos FB s por uma simples associação. Para tal, primeiro insere-se um DB, depois ao tentar editá-lo, surge uma janela com o seguinte formato:

que permite associar o DB ao FB afim de importar a estrutura deste. Pode-se então fazer a chamada no corpo do programa (ou outro bloco lógico da seguinte forma). Desta forma poderia chamar-se o FB 1 Motor, recorrendo a vários DB s diferentes, contendo a informação necessária a vários motores diferentes Essa informação contida nos DB s estaria permanentemente disponível (memorizada). Ou seja o código seria o mesmo, haveria configurações diferentes em diferentes DB s, disponíveis para motores diferentes.

12.2.7. Tipos de dados O S7 permite manipular uma grande variedade de dados simples ou compostos. O estudo mais intensivo poderá ser feito recorrendo à ajuda do S7. Contudo fica aqui uma resumida apresentação. 12.2.7.1. Tipos de dados simples Podem resumir-se conforme a tabela seguinte 1 Bit 1 Byte (8 bits) 1 Palavra (2 Bytes, 16 bits) 1 Palavra dupla (4 bytes, 32 bits) BOOL BYTE WORD DWORD CHAR INT DINT DATE REAL S5TIME TIME TIME OF DAY A representação de um Número pode ser feita sobe várias formas como se descreve na tabela que se segue: Formato Tamanho em bits Representação do prefixo a utilizar Hexadecimal 8, 16 e 32 B#16#, W#16# e DW#16# Binário 8, 16 e 32 2# Decimal 8, 16 e 32 L# Data 16 D# Tempo 32 T# S5Tempo 16 S5T# Hora 32 TOD# Time of day BYTE 8 'A' BOOL TRUE ou FALSE, 0 ou 1 BYTE No formato Hexadecimal pode assumir valores entre B#16#0 e B#16#FF CHAR Caracteres ASCII por exemplo A ou b, etc... WORD Ocupando 16 bits, pode assumir números entre 2#0 a 2#1111111111111111, ou B#16#0 até B#16#FFFF ou então INT Inteiros com sinal possíveis de representar com 16 bits. O MSB (most significant bit) corresponde ao sinal, pelo que é possível representar ±2 15 =±32768. Desta forma pode representar números entre L#-32768 até L#+32768. DATE A data apresenta-se como sendo um inteiro sem sinal (0 a 65536) em que o primeiro dia é 1 de Janeiro de 1990. Apresenta-se com o formato yyyy-mm-dd e consegue representar datas desde D#1990-01-01 até D#2168-12-31 S5TIME A utilização deste formato nos temporizadores permite definir a base de tempo com que se pretende que os temporizadores reduzam uma unidade de tempo até chegar a 0. Pode assumir valores entre S5T#10ms até S5T#2h46m30s.

DWORD Semelhante ao WORD apenas que com 32bits. Pode assumir valores entre 2#0 até 2#11111111111111111111111111111111 ou de DW#16#0 até DW#16#FFFFFFFF DINT Semelhante ao INT, apenas que tem ao seu dispor 32bits. Desta forma consegue representar números desde L#-2147483648 até L#+2147483648. REAL Permite representar números reais sob a forma de vírgula flutuante. Desta forma consegue representar números entre -3.402823e+38 até +3.402823e+38. O menor número possível de representar será 1.175495e-38. TIME É uma representação de intervalo de tempo que dispõe de 32 bits. Tem como grande vantagem não necessitar da representação completa do tempo, podendo aceitar por exemplo T#5h10s. Tem representações limite T#-24d20h31m23s647ms e T#+24d20h31m23s647ms. TIME OF DAY Representa determinada hora do dia no formato Horas:minutos:segundos.milisegundos. por exemplo TOD#23:59:59.999 12.2.7.2. Tipos de dados compostos Serão apenas abordados os seguintes 4 tipos de dados compostos Tipo de dados DATE_AND_TIME ou DT STRING ARRAY STRUCT Descrição Define uma area de 64 bits. Para representação de uma data e hora com o formato Ano-Mês-dia-Hora:Minito:Segundo.Milisegundo. Como exemplo DT#1995-02-02-08:30:01.999 Define um grupo de um máximo de 254 caracteres (tipo de dados CHAR). A área standard reservada para una cadeia de caracteres consta de 256 bytes. Este é o espaço requerido para memorizar 254 caracteres e um cabeçalho de 2 bytes. A memória requerida para memorizar uma cadeia de caracteres pode ser reduzida (por exemplo: string[9] 'Siemens'). Define um agrupamento multidimensinal, semelhante a um matriz de um tipo de dados (simples ou compostos). Por exemplo ARRAY [1..2,1..3] OF INT. Para este exemplo acede-se aos dados através do seu índice por exemplo [2,2] Semelhante às estruturas RECORD em PASCAL. 12.2.8. Acesso a dados periféricos - Carta analógica O CPU pode aceder directamente às entradas e saídas dos módulos I/O analógicos através do BUS posterior. O endereçamento dos módulos é feito na configuração de Hardware (Também seria possível utilizar PROFIBUS-DP, mas que não será abordado de momento). A direcção de uma área de periferia deve conter, para além da indicação de BYTE ou palavra (WORD), o identificador E-Alemão (I-Inglês) para as entradas ou A-Alemão (Q-Inglês) para as saídas. Como se exemplifica na tabela que se segue:

Área de operandos Área de periferia: entradas Área de periferia: saídas Ejemplo prático: Aceso a través de unidades do tamanho seguinte: Byte de entrada de periferia Palavra de entrada de periferia Palavra dupla de entrada de periferia Byte de saída de periferia Palavra de saída de periferia Palavra dupla de saída de periferia Notação S7 (Alemão) PEB PEW PED PAB PAW PAD Exemplo de declaração na tabela de símbolos. Utilização num FC em que a entrada analógica do endereço 304 (PIW304) de 16 bits é inicialmente convertida de INT (16Bits) em DINT(32Bits) e posteriormente convertida de DINT em REAL: