• Nenhum resultado encontrado

Documentação de treinamento SCE para a solução de automação universal Totally Integrated Automation (TIA)

N/A
N/A
Protected

Academic year: 2021

Share "Documentação de treinamento SCE para a solução de automação universal Totally Integrated Automation (TIA)"

Copied!
30
0
0

Texto

(1)

Módulo TIA Portal 010-090

Programação 'startup' em linguagem de alto nível

com S7-SCL e SIMATIC S7-1200

Documentação de treinamento SCE

para a solução de automação universal

Totally Integrated Automation (TIA)

(2)

Pacotes de instrutor SCE deste documento

 SIMATIC S7-1200 AC/DC/RELAIS 6º "TIA Portal"

Nº de pedido: 6ES7214-1BE30-4AB3

 SIMATIC S7-1200 DC/DC/DC 6º "TIA Portal" Nº de pedido: 6ES7214-1AE30-4AB3

 SIMATIC S7-SW para treinamento STEP 7 BASIC V11 Upgrade (para S7-1200) 6º "TIA Portal" Nº de pedido: 6ES7822-0AA01-4YE0

Note que os pacotes de instrutor podem ser substituídos por pacotes atualizados.

Um resumo dos pacotes SCE atualmente disponíveis pode ser encontrado em: siemens.com/sce/tp

Treinamentos avançados

Para treinamentos avançados SCE Siemens, entre em contato com o parceiro SCE da sua região

siemens.com/sce/contact

Outras informações sobre SCE

siemens.com/sce

Nota sobre o uso

A documentação de treinamento para a solução de automação universal Totally Integrated Automation (TIA) foi elaborada para o programa "Siemens Automation Cooperates with Education (SCE)" especificamente para fins educacionais. A Siemens AG não assume nenhuma responsabilidade sobre o conteúdo.

Este documento só pode ser utilizado para o treinamento inicial em produtos/sistemas da Siemens. Isto é, ele pode ser copiado em sua totalidade ou parcialmente e ser entregue aos alunos para uso durante o treinamento. A transmissão e reprodução deste documento, bem como a divulgação de seu conteúdo, são permitidas apenas para fins educacionais.

As exceções demandam a aprovação por escrito do representante da Siemens AG: Sr. Roland Scheuerer

roland.scheuerer@siemens.com.

As violações estão sujeitas a indenização por danos. Todos os direitos, inclusive da tradução, são reservados, particularmente para o caso de registro de patente ou marca registrada.

A utilização em cursos para clientes industriais é expressamente proibida. O uso comercial dos documentos não é autorizado.

(3)

PÁGINA:

1. Prefácio ... 4

2. Nota sobre a linguagem de programação S7-SCL ... 6

3. O ambiente de desenvolvimento S7-SCL ... 7

4. Exemplo de tarefa para o conteúdo do tanque ... 8

4.1 Descrição da tarefa ... 8

4.2 Lista de atribuição / tabela de variáveis ... 8

4.3 Estrutura do programa... 9

4.4 Interface do bloco calculate_volume_tank [FC140] ... 10

4.5 Nota de solução ... 11

5. Programação do cálculo do conteúdo do tanque para o SIMATIC S7-1200 em S7-SCL ... 12

5.1 Criar o projeto e configurar o hardware ... 12

5.2 Criar o programa ... 15

5.3 Testar o programa ... 23

(4)

1.

Prefácio

O módulo SCE_PT_010-090 constitui a unidade de aprendizado 'Fundamentos da programação

CLP' e representa uma introdução rápida na programação do SIMATIC S7 1200 com a linguagem de

programação S7-SCL com o TIA-Portal.

Meta de aprendizado:

Neste módulo o leitor deverá conhecer as funções básicas do ambiente de desenvolvimento S7-SCL. Além disto, serão apresentadas as funções de teste para a eliminação dos erros lógicos de

programação.

Pré-requisitos:

Para um bom entendimento desse módulo, é

 necessário conhecimento sobre Windows

Fatores adicionais para a programação CLP Módulo 30 Fundamentos da programação CLP Módulo 10, módulo 20 PROFIBUS PROFINET

Módulo 60 Módulo 70 AS-Interface Módulo 50 Tecnologia de segurança Módulo 80 Tecnologia de acionamento Módulo 100 Visualização do processo (IHM) Módulo 90 Tecnologia de sensores Módulo 110 Simulação do sistema SIMIT Módulo 150 Outras linguagens de programação Módulo 40

(5)

Hardware e software necessários

1 PC Pentium 4 com 1.7 GHz, 1 GB de RAM (XP) ou 2 GB de RAM (Vista), espaço livre em disco de aprox. 2 GB

Sistema operacional Windows XP Professional SP3 / Windows 7 Professional / Windows 7

Enterprise / Windows 7 Ultimate / Windows 2003 Server R2 / Windows Server 2008 Premium SP1, Business SP1, Ultimate SP1

2 Software STEP 7 Professional V11 SP2 (TIA-Portal V11)

3 Conexão Ethernet entre o PC e a CPU 1214C

4 CLP SIMATIC S7-1200 a partir de firmware V2.2, por exemplo, CPU 1214C com módulo de sinal 14DI/10DO.

As entradas deverão ser executadas em um painel de controle.

4 S7-1200 com CPU 1214C a partir de firmware V2.2 1 PC 2 STEP 7 Professional V11SP2 (TIA-Portal) 3 Conexão Ethernet

(6)

2.

Nota sobre a linguagem de programação S7-SCL

S7-SCL (Structured Control Language) é uma linguagem de programação de alto nível, que se orienta por PASCAL e permite uma programação estruturada. A linguagem corresponde a um diagrama funcional sequencial SFC "Sequential Function Chart" definida na norma DIN EN-3 (IEC 61131-3). A S7-SCL contém, além dos elementos de linguagem de alto nível, também os elementos típicos do CLP, tais como entradas, saídas, tempos, marcadores, chamadas de bloco etc., como elementos de linguagem. Ela suporta o conceito de blocos do STEP 7 e permite, além de AWL, LD e FBD, a

programação normalizada de blocos. Isto é, S7-SCL complementa e amplia o software de programação STEP 7 com suas linguagens de programação LD, FBD e AWL.

Nem todas as funções precisam ser criadas de modo próprio, mas podem ser acessados nos blocos pré-fabricados, tais como as funções do sistema ou blocos de função do sistema, que existem no sistema operacional da CPU.

Os blocos, programados com S7-SCL, podem ser misturados com blocos AWL, LD e FBD. Isto

significa, que um bloco programado com S7- SCL pode chamar outro bloco que tenha sido programado com AWL, LD ou FBD. De modo correspondente, os blocos S7-SCL também podem ser chamados em programas AWL, LD e FBD

As funções de teste de S7-SCL permitem a localização de erros lógicos de programação em uma compilação livre de erros.

(7)

3.

O ambiente de desenvolvimento S7-SCL

Para a utilização e a aplicação de S7-SCL há um ambiente de desenvolvimento, que tanto é adaptado às propriedades específicas do S7-SCL, como também do STEP 7. Este ambiente de desenvolvimento consiste em um editor/compilador e um depurador.

Editor / Compilador

O editor S7-SCL é um editor de texto, com o qual podem ser processados quaisquer textos. A tarefa central que você executará será a criação e edição de blocos para os programas STEP 7. Durante a entrada ocorre uma verificação fundamental da sintaxe, o que simplifica a programação isenta de erros. Os erros de sintaxe são representados em diversas cores.

As seguintes possibilidades são oferecidas pelo editor: - Programação de um bloco S7 na linguagem S7-SCL.

- Fácil inserção dos elementos de linguagem e chamada de blocos por meio de Arrastar&Soltar. - Verificação direta de sintaxe durante a programação.

- Configuração do editor conforme os seus requisitos, por exemplo, pela coloração dos diversos elementos de linguagem de acordo com a sintaxe.

- Verificação do bloco concluído por meio de compilação.

- Indicação de todos os erros e avisos, que surgiram durante a compilação.

- Localização do ponto com defeito no bloco, opcionalmente com a descrição do erro e informações sobre a eliminação do erro.

Depurador

O depurador S7-SCL oferece a possibilidade, de controlar um programa durante sua execução em AS e, assim, localizar os possíveis erros lógicos.

O S7-SCL oferece dois modos de teste diferentes: - Observação passo a passo

- Observação contínua

Na "Observação passo a passo" é reproduzida a sequência lógica do programa. Você poderá executar o algoritmo de instrução por instrução e observar em uma janela de resultado como os conteúdos das variáveis processadas se alteram

Com a "Observação contínua" é possível testar um grupo de instruções dentro de um bloco. Durante a execução do teste, os valores das variáveis e dos parâmetros são exibidos em sequência cronológica e - desde que seja possível - ciclicamente atualizados.

S7-SCL para S7-300/400

(8)

4.

Exemplo de tarefa para o conteúdo do tanque

4.1 Descrição da tarefa

Como nosso primeiro programa, iremos programar o cálculo de um conteúdo de tanque.

O tanque possui a forma de um cilindro em pé. O nível de preenchimento do conteúdo é medido com um sensor analógico. Na tarefa, o valor do nível de preenchimento deverá estar disponível já

normalizado na unidade de metros.

O programa deve ser programado em uma função FC140 'cálculo_conteúdo tanque’. Os parâmetros de transferência são o diâmetro e o nível de preenchimento na unidade de metros. O resultado é o

conteúdo do tanque na unidade de litros.

4.2 Lista de atribuição / tabela de variáveis

Como na programação moderna não são usados endereços absolutos, mas sim variáveis simbólicas, aqui primeiro é necessário definir as Variáveis globais do CLP.

Estas variáveis globais do CLP são nomes descritivos com comentário para todas as entradas e saídas usadas no programa. Posteriormente, as variáveis globais do CLP poderão ser acessadas através dos respectivos nomes durante a programação.

Estas variáveis globais podem ser usadas em todo o programa e em todos os blocos.

Tabela de variáveis padrão

Nome Tipo de dados Endereço Comentário

filling_level_tank1 REAL %MD40 em metros

diameter_tank1 REAL %MD44 em metros

(9)

4.3 Estrutura do programa

A sequência do programa é gravada nos assim chamados blocos. Como padrão, o bloco de organização Main [OB1] já existe. Este representa a interface ao sistema operacional da CPU e é automaticamente chamado e ciclicamente processado.

A partir deste bloco de organização é possível chamar outros blocos, tais como, por exemplo, a função cálculo_conteúdo tanque [FC140], para a programação estruturada.

Isto faz com que a tarefa completa seja decomposta em subproblemas. Estes são mais fáceis de solucionar e ter a sua funcionalidade testada.

Estrutura do exemplo de tarefa para o conteúdo do tanque

Bloco de organização Main [OB1] )

Bloco ciclicamente chamado pelo sistema operacional. Aqui é a chamada da função cálculo_conteúdo tanque [FC140] Função: calculate_volume_tank [FC140]

Contém, neste exemplo, o programa

propriamente dito. É chamado por Main [OB1].

(10)

4.4 Interface do bloco calculate_volume_tank [FC140]

Antes de poder gravar o programa, é necessário declarar a interface do bloco. Na declaração da interface, são definidas as variáveis locais conhecidas somente neste bloco.

As variáveis ou parâmetros da interface subdividem-se em dois grupos:

 Os parâmetros do bloco, que formam a interface do bloco para a chamada no programa.

Tipo Designação Função Disponível em

Parâmetros de entrada Input Parâmetros cujos valores são lidos pelo bloco.

Funções, blocos de função e alguns tipos de blocos de organização Parâmetros de saída Output /

Return

Parâmetros cujos valores são

gravados pelo bloco. Funções e blocos de função Parâmetros de

transição InOut

Parâmetros cujo valor é lido pelo bloco na chamada e no qual se realiza a gravação após o processamento.

Funções e blocos de função

 Dados locais usados para o armazenamento de resultados intermediários.

Tipo Designação Função Disponível em

Dados locais

temporários Temp

Variáveis usadas para o armazenamento de resultados intermediários temporários. Os dados temporários são mantidos somente durante um ciclo.

Funções, blocos de função e blocos de organização

Dados locais estáticos Static

Variáveis usadas para o armazenamento de resultados intermediários estáticos no bloco de dados de instância. Os dados estáticos são mantidos até nova gravação, inclusive ao longo de diversos ciclos.

(11)

Os parâmetros de interface utilizados em nosso exemplo de programa para o bloco 'calculate_volume_tank [FC140]' são os seguintes.

Interface da função FC140: calculate_volume_tank

Tipo Nome Tipo de dados Comentário

IN filling_level REAL em metros

IN diameter REAL em metros

OUT volume REAL em litros

A chamada da função em um bloco programado por FBD têm a seguinte aparência.

Chamada da função: representação em FBD

4.5 Nota de solução

Para a solução da tarefa é aplicada a fórmula para cálculo do volume de um cilindro em pé. O fator de conversão 1000 é utilizado para calcular o resultado em litros.

h

4

d

V

2

=>

3

.

14159

filling_le

vel

1000

4

2

d

volume

iameter

FC140 calculate_volume_tank filling_level: REAL diameter: REAL REAL :volume

(12)

5.

Programação do cálculo do conteúdo do tanque para o SIMATIC S7-1200 em

S7-SCL

Conforme os passos abaixo é possível criar um projeto para o SIMATIC S7-1200 e programar a solução da tarefa:

5.1 Criar o projeto e configurar o hardware

1. A ferramenta central é o 'Totally Integrated Automation Portal', que é chamada aqui por meio de um clique duplo. ( TIA-Portal V11)

2. Os programas para o SIMATIC S7-1200 são administrados em projetos. Um projeto é criado na visualização do portal ( Create a new project  scl_startup  Create)

(13)

3. Então, são sugeridos os 'First steps' para a criação do projeto. Queremos, primeiro, 'Configure a

device'. ( First steps  Configure a device)

4. Então iremos em 'Add new device' com o 'nome de dispositivo controller001'. Em "Catalog", selecionamos a 'CPU1214C AC/DCRly' com o número de pedido adequado. ( Add new device

 controller001  PLC  SIMATIC S7-1200  CPU  CPU1214 AC/DC/Rly  6ES7 214-1BE30-0XB0  V2.2  Add)

(14)

5. O software altera automaticamente para a visualização do projeto com a configuração de

hardware aberta na visualização do dispositivo. Para que o software acesse posteriormente a CPU correta, o seu respectivo 'ETHERNET address' deverá ser configurado.

( Properties  General  ETHERNET address  IP address: 192.168.0.80  Subnet mask: 255.255.255.0)

(15)

5.2 Criar o programa

1. Abra 'Default tag table' e introduza os 'Operands' com seus nomes e tipos de dados. ( controller001 [CPU1214 AC/DC/Rly]’  PLC tags  Default tag table  Insert operands)

(16)

2. Para criar a função calculate_volume_tank [FC140], selecione, na árvore do projeto, o

'controller001 [CPU1214 AC/DC/Rly]’ e, em seguida, 'Program blocks'. Clique duas vezes

sobre 'Add new block'. Selecione a opção 'Function (FC)' e dê o nome

'calculate_volume_tank'. Altere a linguagem de programação para 'SCL'. A numeração pode ser

alterada mudando-se de automático para manual. Insira o número 140. Aplique as entradas por meio de 'OK'.

( controller001[CPU1214 AC/DC/Rly]’  Program blocks  Add new block  Function (FC)  calculate_volume_tank  SCL  Manual  140  OK)

(17)

3. O bloco 'calculate_volume_tank [FC140]’ é aberto automaticamente. Introduza os 'Parâmetros de

entrada e saída' do bloco conforme o indicado. Para uma melhor compreensão, todas as

variáveis locais devem ser acompanhadas de um 'comentário'.

( Ampliar a interface do bloco FC140  Inserir os parâmetros da interface )

Nota:

(18)

4. Após a declaração das variáveis locais, é possível dar início à criação do programa aqui

apresentado. Nesta ocasião é utilizada a função raiz quadrada integrada em SCL 'SQR’ para raiz quadrada de um número. O número cuja raiz quadrada deve ser calculada está entre parênteses. Para inserir a função, arraste-a por Arrastar&Soltar para o local de utilização no programa. ( Instructions (Menu direito!)  Basic instructions  Math functions  SQR)

(19)

6. Agora o programa pode ser salvo e compilado .

( Save  Compile )

7. Os erros de sintaxe que surgirem são identificados durante a compilação e são exibidos no 'Menu

(20)

8. Agora a função pode ser chamada em 'Main[OB1]'. Antes de abrir o bloco 'Main[OB1]' com um clique duplo, vamos converter sua linguagem de programação para 'FBD'.

( Main[OB1]  Switch programming language  FBD)

9. A função 'calculate_volume_tank[FC140]’ pode ser simplesmente arrastada por Arrastar&Solar para a rede 1 do bloco Main[OB1]. Os parâmetros de interface da função

'calculate_volume_tank[FC140]' agora devem ser interligados com as variáveis globais do CLP, como exibido aqui. Não se esqueça de documentar as redes também no bloco Main[OB1]. ( Main[OB1]  Program blocks  calculate_volume[FC140])

(21)

11. Para carregar os blocos de programa e a configuração do dispositivo na CPU, marque primeiro a pasta 'controller001[CPU1214 AC/DC/Rly]' e, em seguida, clique no símbolo Download to device. ( controller001[CPU1214 AC/DC/Rly]  )

Nota:

Por meio do carregamento, o projeto será automaticamente compilado de novo e examinado com relação a erros.

(22)

12. Antes do carregamento será exibida novamente uma visão geral para a verificação dos passos a serem executados. Inicie-os com 'Load'. ( Load  Finish)

(23)

5.3 Testar o programa

1. Com um clique do mouse sobre o símbolo "Monitoring on/off", é possível observar o estado das variáveis de entrada e saída no bloco "calculate_volume_tank' durante o teste do programa. ( )

(24)

2. Já que não dispomos de nenhum sensor analógico e de nenhum valor de processo

correspondente, é necessário definir os valores 'diameter_tank1' e 'filling_level_tank1' com a ajuda de uma tabela de observação. Crie uma 'New watch table' e insira ambos os valores. Altere para o 'Monitoring on' para visualizar os valores atuais.

( controller001  Watch and force tables  New watch table  diameter_tank1, filling_level_tank1  )

3. Para predefinir os valores, é necessário inserir um valor de comando na coluna 'Monitor value'. Com o botão 'Write monitor value once and immediately' os valores são aplicados na CPU. ( diameter_tank1 = 10.0  filling_level_tank1 = 7.0  )

(25)

4. Agora o programa pode ser verificado em OB1. ( )

5. Em SCL Editor, é possível observar os valores das variáveis individuais. Para tal, altere para

'Monitoring on'. ( )

Nota:

(26)

Agora o bloco 'calculate_volume_tank' deverá verificar se existem informações incorretas nos

parâmetros de entrada. É adicionalmente transferido outro valor 'height_máx' para o bloco. Este indica a altura do tanque.

O bloco deverá avaliar se o nível de preenchimento do tanque é inferior a zero ou superior à altura especificada do tanque. Além disto, deverá ser examinado se foi especificado um diâmetro inferior a zero.

Se houver um erro, um parâmetro de saída booleano 'er' deverá fornecer TRUE e o valor do parâmetro

'volume' deverá ser -1.

Ampliação da lista de atribuição/tabela de variáveis:

Endereço Símbolo Tipo de dados Comentário

%Q1.7 error bit BOOL Erro, o cálculo não pode ser executado

Ampliação da interface da Função FC140: calculate_volume_tank

Tipo Símbolo Tipo de dados Comentário

IN height_max REAL em metros

OUT er REAL er = 1, existe um erro, conteúdo = -1

Chamada da função: Representação em FBD

FC140 calculate_volume_tank filling_level: REAL height_max: REAL diameter: REAL BOOL :er REAL:volume

(27)

1. Amplie a 'Default tag table' do bloco conforme indicado acima.

( controller001[CPU1214 AC/DC/Rly]  PLC tags  Default tag table  Insert operands)

2. Amplie os 'Interface parameters' do bloco conforme indicado acima.

( controller001[CPU1214 AC/DC/Rly]  Program blocks  calculate_volume_tank)  Insert parameters)

(28)

3. Complete o programa conforme indicado abaixo e o examine com relação a erros de sintaxe, compilando-o. Salve o programa e carregue-o no controlador.

(29)

4. Já que os parâmetros do bloco foram modificados, a chamada em OB1 deve ser atualizada. Abra o OB1 e role-o para o ponto da chamada do bloco. Com a tecla direita do mouse, abra o menu de contexto e selecione o item 'Update'.

( controller001[CPU1214 AC/DC/Rly]  Program blocks  Main [OB1]  tecla direita do mouse

 Update)

5. São exibidas as interfaces antiga e a nova. Confirme com 'OK'. ( OK)

(30)

6. Complete os valores no parâmetro de entrada 'height_max' e no parâmetro de saída 'er' conforme o indicado. Compile, salve e carregue o programa no controlador.

(Complete parameters     )

7. Examine as alterações em 'Monitoring' do bloco 'calculate_volume_tank'.

Referências

Documentos relacionados

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

A direção dos Serviços Farmacêuticos Hospitalares (SFH) fica sempre a cargo de um farmacêutico. São várias as funções desempenhadas pelo FH no decorrer da sua atividade

A médio/longo prazo será notória a diminuição do número de avarias, devido ao natural ajustamento do plano de manutenções preventivas implementado, a melhoria

Os doentes paliativos idosos que permanecem nas instituições privadas são encaminhados pelos hospitais em que estavam ou internados pelos próprios familiares

Este estudo tem como objetivos identificar os níveis de trauma manifestados e de estratégias de coping utilizadas pelos TEPH; caracterizar os incidentes mais

Relativamente ao processo de internacionalização, este é um objetivo que está presente desde o início da existência da empresa, tendo já sido dados alguns passos nesse

Vita tentar o processo de inovação social e de mudança do poder em relação directa e exclusiva com o seu próprio grupo matrilinear, abolindo, assim, as relações políticas