Você está na página 1de 157

EIXO TECNOLÓGICO: AUTOMAÇÃO E CONTROLE DE PROCESSOS

REDES INDUSTRIAIS E SUPERVISÓRIO

SIEMENS S7-1500
KTP700
WONDERWARE INDUSOFT WEB STUDIO
REDES INDUSTRIAIS E SUPERVISÓRIO
SENAI-SP, 2018.
Trabalho elaborado pela Escola e Faculdade de Tecnologia SENAI "Roberto Mange" CPF 5.01

Equipe responsável

Coordenação

João Ulysses Laudissi

Elaboração

Ailton José dos Santos

Orientador de Práticas Profissionais

Alex Piza

Coordenação Técnica

Celso Martinez

Versão 1
SENAI Serviço Nacional de Aprendizagem Industrial
Escola e Faculdade de Tecnologia SENAI “Roberto Mange”
Rua Pastor Cícero Canuto de Lima, 71
CEP 13036-210 – Campinas, SP
E-mail: senaicampinas@sp.senai.com.br
SUMÁRIO

1 INTRODUÇÃO

2 CRIANDO UM PROJETO

3 CONFIGURANDO O HARDWARE

3.1 Configuração Manual de Hardware

3.2 Configuração Automática de Hardware

3.3 Configuração do endereço IP

3.4 Configuração de endereços lógicos

3.5 Configuração de Clock e System Memory

4 PROJECT TREE

4.1 Device Configuration

4.2 Online & Diagnostics

4.3 Program Blocks

4.4 Technology Blocks

4.5 External Source File

4.6 Declaração da Lista de Variáveis

4.7 PLC Data Types

4.8 Watch and Force Tables

4.9 Program Info

4.10 Local Modules

5 PROGRAMAÇÃO BÁSICA

5.1 Temporizadores

5.2 Contadores
Página | 3
5.3 Comparadores

6 PROGRAMAÇÃO AVANÇADA

6.1 Tipos de Blocos

6.1.1 Functions
6.1.2 Function Block ....................................................................................... 46

6.1.3 Bloco de Dados (DB) ............................................................................. 49

6.1.3.1 Tipos Elementares ............................................................................. 49

6.1.3.2 Tipos Complexos ............................................................................... 50

6.1.4 Blocos de Organização (OB) ................................................................. 51

6.1.4.1 OB1 – Program Cycle ........................................................................ 53

6.1.4.2 OB10x – Startup................................................................................. 53

6.1.4.3 OB20x – Time delay interrupt ............................................................. 53

6.1.4.4 OB3x – Cyclic Interrupt ...................................................................... 54

6.1.4.5 OB4x – Hardware Interrupt ................................................................ 54

6.1.4.6 OB80 – Time error interrupt................................................................ 54

6.1.4.7 OB82 – Diagnostic Interrupt ............................................................... 54

6.2 User Data Type (UDT) .................................................................................. 54

6.3 Multi-instance ............................................................................................... 56

6.4 Controle PID ................................................................................................. 58

6.4.1 Configuração do PID.............................................................................. 61

6.4.2 Comissionamento do PID ...................................................................... 64

6.5 Linguagem SCL ............................................................................................ 65

6.6 Comunicação entre dois S7-1200 via ethernet.............................................. 68

Página | 4
6.6.1 Configuração TSEND_C. ....................................................................... 69

6.6.2 Configuração TRCV_C .......................................................................... 74

6.7 Rede AS-i ..................................................................................................... 78

6.7.1 Topologia ............................................................................................... 81

6.7.2 Módulos de I/O ...................................................................................... 84

6.7.3 Endereçamento de Rede ....................................................................... 87

6.7.4 Comunicação via DP coupler para rede AS-i ......................................... 88


6.8 Rede Profibus DP .................................................................................. 95

7 Download do Programa ....................................................................................... 95

8 Iniciando um Projeto com a IHM .......................................................................... 97

8.1 Configurando a IHM ...................................................................................... 99

8.1.1 Criando a Conexão com o CLP ............................................................. 99

8.1.2 Layout de Tela ..................................................................................... 100

8.1.3 Pré-configurando alarmes: ................................................................... 101

8.1.4 Mapeamento de Telas ......................................................................... 102

8.1.5 System Screen. ................................................................................... 103

8.1.6 Rodapé ................................................................................................ 104

8.2 Objetos de Tela. ......................................................................................... 105

8.2.1 Basic Objects....................................................................................... 105

8.2.2 Elementos ........................................................................................... 106

8.2.2.1 Display (I/O Field) ............................................................................ 106

8.2.2.2 Botão ............................................................................................... 106

8.2.2.3 Display Simbólico (Symbolic I/O Field) ............................................. 106

Página | 5
8.2.2.4 Display Gráfico (Graphic I/O Field) ................................................... 106

8.2.2.5 Display de Data/Hora (DateTime Field) ............................................ 106

8.2.2.6 Bar (Bar). ......................................................................................... 106

8.2.2.7 Switch (Switch)................................................................................. 106

8.3 Propriedades dos objetos ........................................................................... 107

8.4 Animações .................................................................................................. 108

8.5 Events. ....................................................................................................... 110

8.5.1 Funções dos Eventos .......................................................................... 111

9 INTERFACE DO USUÁRIO

9.1. BARRA DE TÍTULO

9.2. BARRA DE ESTADOS

9.3 BOTÃO DE ARQUIVO


9.4. BARRA DE ACESSO RÁPIDO

MENU RIBBON
9.5
9.5.1 Aba Início

9.5.2. Aba Visualizar

9.5.3. Aba Inserir

9.5.4. Aba Projeto

9.5.5. Aba Gráficos

9.5.6. Aba Formato

Página | 6
ÍNDICE DE FIGURAS
Figura 1 - Tela de Abertura TIA Portal V11 ................................................................. 10

Figura 2 - Tela de Criação do Projeto.......................................................................... 11

Figura 3 - Iniciando o Projeto ...................................................................................... 12

Figura 4 - Configurando o Hardware ........................................................................... 13

Figura 5 - Inserindo a CPU.......................................................................................... 14

Figura 6 - Configurando o Hardware ........................................................................... 15

Figura 7 - Inserindo uma CPU genérica ...................................................................... 16

Figura 8 - Auto-detectando o hardware. ...................................................................... 17

Figura 9 - Hardware detectado .................................................................................... 17

Figura 10 - Configurando o Endereço IP ..................................................................... 18

Figura 11 - Endereçamentos Lógicos .......................................................................... 19

Figura 12 - Configuração de Memória de Clock e de Sistema ..................................... 20

Figura 13 - Project Tree .............................................................................................. 21

Figura 14 - Technology Blocks .................................................................................... 23

Figura 15 - Declaração de Variáveis ........................................................................... 24

Figura 16 - Watch Window .......................................................................................... 25

Figura 17 - Force table ................................................................................................ 25

Figura 18 - Program Info ............................................................................................. 26

Figura 19 - Local Modules ........................................................................................... 27

Figura 20 - Local Modules na Arvore do Projeto.......................................................... 28

Figura 21 - Elementos de Programação ...................................................................... 29

Figura 22 - Gráfico TON.............................................................................................. 31

Figura 23 - Gráfico TOF. ............................................................................................. 32

Figura 24 - Gráfico TP................................................................................................. 32

Figura 25 - Inserindo um TON ..................................................................................... 33

Figura 26 - Nomeando o TON ..................................................................................... 34

Figura 27 - Utilização do TON ..................................................................................... 35


Página | 7
Figura 28 - TON Online - Contagem de Tempo........................................................... 36

Figura 29 - Tempo Atingido ......................................................................................... 36

Figura 30 - Nomeando o Contador .............................................................................. 37

Figura 31 - Utilizando o Contador ................................................................................ 38

Figura 32 - Comparador Igual ..................................................................................... 39

Figura 33 - Comparador Diferente ............................................................................... 39


Figura 34 - Comparador Maior .................................................................................... 40

Figura 35 - Comparador Menor ................................................................................... 40

Figura 36 - Comparador Maior Igual............................................................................ 40

Figura 37 - Comparador Menor Igual .......................................................................... 41

Figura 38 - Tipos de blocos ......................................................................................... 42

Figura 39 - Tipos de Programas .................................................................................. 43

Figura 40 - Function .................................................................................................... 44

Figura 41 - Criando uma FC........................................................................................ 44

Figura 42 - Variáveis da FC ........................................................................................ 45

Figura 43 - Function Block .......................................................................................... 46

Figura 44 - Inserindo um FB........................................................................................ 47

Figura 45 - Variáveis FB ............................................................................................. 48

Figura 46 - Acessando dados de uma DB global......................................................... 49

Figura 47 - Dados Elementares .................................................................................. 50

Figura 48 - Dados Complexos ..................................................................................... 51

Figura 49 - Tipos de OBs ............................................................................................ 52

Figura 50 - Blocos de Organização ............................................................................. 53

Figura 51 - PLC Data Types........................................................................................ 55

Figura 52 - Declarando uma UDT ............................................................................... 55

Figura 53 - Multi-instance ............................................................................................ 57

Figura 54 - Intanciando o DB ...................................................................................... 58

Figura 55 - Bloco de Controle PID ............................................................................... 59


Página | 8
Figura 56 - Inserindo o OB30 ...................................................................................... 60

Figura 57 - Bloco PID .................................................................................................. 61

Figura 58 - Janela de configuração do PID ................................................................. 62

Figura 59 - Configuração da escala do PID ................................................................. 62

Figura 60 - PID manual ............................................................................................... 63

Figura 61 - Acesso aos parametros PID ...................................................................... 63

Figura 62 - Start do PID .............................................................................................. 64

Figura 63 - Pretuning PID............................................................................................ 65

Figura 64 - Exemplo de código SCL ............................................................................ 66

Figura 65 - Funções de conversão de tipos de dados ................................................. 67

Figura 66 - Funções de conversão numérica .............................................................. 67

Figura 67 - Estações configuradas ............................................................................. 68

Figura 68 - Blocos de comunicação ethernet .............................................................. 69

Figura 69 - TSEND_C ................................................................................................. 70

Figura 70 - Configuração bloco TSEND_C .................................................................. 70

Figura 71 - Connection data TSEND_C ...................................................................... 71

Figura 72 - TSEND_C configuração ............................................................................ 72

Figura 73 - Block Parameters TSEND_C .................................................................... 73

Figura 74 - Bloco TSEND_C configurado .................................................................... 74

Figura 75 - Configuração TRCV_C ............................................................................. 75

Figura 76 - TRCV_C Block Parameters....................................................................... 76

Figura 77 - Conecction Data TSEND_C ...................................................................... 77

Figura 78 - Entrada REQ TSEND_C ........................................................................... 78

Figura 79 - Topologia convencional de um sistema de automação ............................. 79

Figura 80 - Ligação convencional................................................................................ 79

Figura 81 - Instalação convencional ............................................................................ 80

Figura 82 - Ligação com rede AS-i .............................................................................. 80

Página | 9
Figura 83 - Instalação AS-i .......................................................................................... 81

Figura 84 - Linha do tempo AS-i ................................................................................. 81

Figura 85 - Topologia Rede AS-i ................................................................................. 82

Figura 86 - Topologia integrada .................................................................................. 83

Figura 87 - Características rede AS-i .......................................................................... 83

Figura 88 - Topologia em arvore ................................................................................. 84

Figura 89 - Módulos de campo.................................................................................... 85

Figura 90 - Montagem dos módulos ............................................................................ 85

Figura 91 - Terminais Vampiro .................................................................................... 86

Figura 92 - Dispositivos com AS-i integrado ................................................................ 86

Figura 93 - Módulo configurador ................................................................................. 87

Figura 94 - Topologia com DP coupler ........................................................................ 88

Figura 95 - Módulo DP Coupler AS-i ........................................................................... 89

Figura 96 - Endereçamento Profibus........................................................................... 90

Figura 97 - Selecionando o DP Coupler no catálogo de hardware .............................. 91

Figura 98 - Escravo inserido. ...................................................................................... 92

Figura 99 - Rede profibus associada entre os equipamentos ...................................... 93


Figura 100 - Configuração do endereço Profibus no TIA ............................................. 94

Figura 101 - Configuração DP Coupler ....................................................................... 94

Figura 102 - Acesso aos endereços AS-i .................................................................... 95

Figura 103 - Fazendo Download ................................................................................. 96

Figura 104 - Inserindo a IHM....................................................................................... 97

Figura 105 - Selecionando o Equipamento ................................................................. 98

Figura 106 - Inserindo uma Conexão entre IHM e CLP ............................................... 99

Figura 107 - Configurando o Layout da Página ......................................................... 100

Figura 108 - Pré-configurando Alarmes..................................................................... 101

Figura 109 - Navegação de Telas ............................................................................. 102

Figura 110 - Configuração de Telas do Sistema ....................................................... 103


Página | 10
Figura 111 - Botões pré-configurados ....................................................................... 104

Figura 112 - Objetos de Tela..................................................................................... 105

Figura 113 - Propriedades do Botão ......................................................................... 108

Figura 114 - Animações do Objeto Botão .................................................................. 109

Figura 115 - Eventos do objeto Botão ....................................................................... 110

Figura 116 - Funções dos Eventos ........................................................................... 111

Página | 11
1 INTRODUÇÃO

A presente apostila tem como objetivo auxiliar os alunos do curso de programação


avançada de CLP, IHM e Supervisórios na criação de um projeto novo utilizando o
software TIA V11, destinado a programação de Controladores Lógicos Programáveis da
linha S7-1500 da Siemens.

Neste documento também estão descritos procedimentos para utilização de


temporizadores, contadores, entradas e saídas analógicas, criação de FC, FB e DB,
programação estruturada, programação em SCL, STL, bem como utilização do controle
PID próprio do CLP.

Levando em consideração a arquitetura e a filosofia TIA (Totally Integrated


Automation), neste software é possível a programação de toda a linha de CLP’s, IHM e
Supervisório da Siemens.

A versão utilizada no SENAI é a TIA Basic, liberando apenas a programação da linha


S71500 e IHM KTP, porém, nas versões Professional e Advanced, estão liberadas todas
as famílias de CLP’s (S7- 1500, S7-1200, S7-300, S7-400, ET200s CPU) e também
toda a linha de IHM’s (KTP, TP, MP, Comfort Panel).

Utilizando este princípio, nesta apostila também estará disponível um tutorial de


criação de projeto uitilizando a IHM KTP700, disponíveis nos KIT didáticos do SENAI.

O software de supervisão que será utilizado em sala de aula é o Indusoft Web Studio
Este supervisório é um dos lideres atuais do mercado de sistemas de supervisão, tendo
uma ampla plataforma de desenvolvimento, aliando simplicidade e funcionalidade ao
seu sistema.

Página | 12
2 Criando um Projeto

Na área de trabalho, de um duplo clique no ícone TIA Portal V11. A seguinte tela abrirá

Figura 1 - Tela de Abertura TIA Portal V11

Página | 13
Após aberto o software, a seguinte tela irá
aparecer.

Figura 2 - Tela de Criação do Projeto

Nesta tela, podem ser feitos os seguintes


comandos:

Open existing project: Dá a possibilidade de abrir um projeto existente.

Create new project: Cria um novo projeto.

Migrate project: Migra um software iniciado no Simatic Manager V5.x para o TIA V11

Página | 14
Ao clicar em create new project, será possível nomear o projeto, bem como alterar seu
destino de gravação, caso necessite gravá-lo em pen-drive, por exemplo.

Figura 3 - Iniciando o Projeto

Página | 15
3 Configurando o hardware

3.1 Configuração Manual de Hardware

Após nomear e selecionar o caminho de destino, clique em create. O projeto será criado
e você poderá iniciar os trabalhos, conforme mostra a figura 4.

Figura 4 - Configurando o Hardware

Criado o projeto, devemos iniciar a configuração de Hardware do sistema. De um clique


no botão destacada em vermelho na figura 4. Esta configuração é indispensável para o
correto funcionamento do CLP. É dever do aluno configurar no software quais são os
equipamentos utilizados no kit.

Página | 16
Após selecionada a ferramenta de configuração de equipamento, como se trata de um
projeto novo, devemos inserir um novo equipamento, como sugere a figura 5.

Figura 5 - Inserindo a CPU

Após clicar no botão add new device, poderá ser escolhido o modelo de CLP e
IHM que serão utilizados no projeto. O CLP montando nos kits didáticos é a:

CPU 1214C DC/DC/DC: código 6ES7 214-1AE30-0XB0.

Página | 17
É indispensável que os módulos montados no kit didático sejam totalmente reproduzidos
no software, de modo que não ocorram erros na inicialização do CLP quando do
download das configurações para o mesmo. Desta forma, é necessário configurar os
seguinte módulos juntamente com a CPU:

CM1241 (RS485) - 6ES7 241-1CH30-0XB0

CM1243-5 (PROFIBUS DP) – 6GK7 243 – 5DX30 – 0XE0

Deve-se seguir a sequência de montagem como mostra a figura 6.

Figura 6 - Configurando o Hardware

Com um duplo clique sob os módulos de comunicação, automaticamente eles são


inseridos no rack, conforme figura a cima.

Vale lembrar que está configuração está sendo feita em função do KIT didático que
será trabalhando em aula, possuir exatamente estes módulos, porém, estas
configuração varia de acordo com a aplicação automatizada.

Página | 18
3.2 Configuração Automática de Hardware

Outra maneira de fazer a configuração do hardware, é fazendo-o de forma


automática. Apenas os equipamentos que suportem porta Profinet integrada possuem
esta característica. Para fazer-se esta configuração, ao invés de adicionar o modelo já
CPU, insere-se um modelo “sem especificação”,e logo após, da-se um comando para
que o TIA detecte a configuração completa do hardware, importando os modelos de
módulos e cartões de expansão conectados a CPU, bem como suas respectivas versões
de firmware.

Figura 7 - Inserindo uma CPU genérica

Após inserir a CPU genérica, a seguinte tela abrirá. (Figura 8)

Página | 19
Figura 8 - Auto-detectando o hardware

Clicando em detect, o software estabelecerá uma conexão com o CLP lendo


todas as configurações do hardware conectado ao computador.

Figura 9 - Hardware detectado

Página | 20
Feito isto, o software estará configurado e pronto para iniciar a programação

ANOTAÇÕES GERAIS

Página | 21
3.3 Configuração do endereço IP

Após a inserção dos módulos de comunicação, o próximo passo é a configuração do


endereço IP do CLP. Para tal comunicação, basta um duplo clique na porta RJ45 junto
da CPU.

Figura 10 - Configurando o Endereço IP

Caso não seja selecionado automaticamente o campo ethernet address, na


tela de propriedades, deve-se selecionar o campo e configurar o endereço IP,
conforme figura 7.

Depois de configurado o endereço IP, é necessário salvar o projeto no botão save project.
Salvando o projeto, o programa irá compilar as informações e só assim as entradas estarão
disponíveis para a programação.

3.4 Configuração de endereços lógicos

Após a correta configuração do hardware é interessante verificar os endereços


Página | 22
lógicos fornecidos pelo software as entradas e saídas do sistema. Estes endereços
são de suma importância para o correto desenvolvimento do software. Conforme
mostra a figura 9, podemos modificar todos os endereçamentos tanto da CPU como
de módulos de expansão:
ANOTAÇÕES GERAIS

Página | 23
Figura 11 - Endereçamentos Lógicos

Todos os endereços em destaque na figura 11, podem ser modificados através do


software, basta a modificação na referida janela: device overview. A medida em que
são inseridos os módulos, automaticamente o software atribui endereços a eles,
deve-se verificar quais são estes endereços para fazer a correta utilização no
desenvolvimento do programa.

3.5 Configuração de Clock e System Memory

Esta configuração é muito utilizada para auxiliar o programador durante o


desenvolvimento do software, uma vez que podem-se configurar memórias de sistema
para aplicações específicas como:

Memória sempre em UM;

Memória sempre em ZERO;

Página | 24
Memória de ciclo de inicialização;

Mudança do status do diagnóstico;


ANOTAÇÕES GERAIS

Página | 25
Para isto é necessario habilitar estas funções. Juntamente com estas
configurações, pode-se habilitar também, memórias que possuem um pulso de clock
definido. Todas estas configurações estão disponíveis com um duplo clique na CPU,
abrindo a aba de propriedades.

Figura 12 - Configuração de Memória de Clock e de Sistema

Página | 26
4 Project Tree

Na tela à esquerda do monitor, denominada Project Tree, estão todas as informações


necessárias para o desenvolvimento da aplicação.

Figura 13 - Project Tree

As principais pastas para o desenvolvimento do programa são:

PLC tags: Responsável pela declaração da lista de IO’s do sistema;

Program blocks: Nesta pasta está o bloco de programação principal para o início
do programa, denominado Main [OB1].

Página | 27
4.1 Device Configuration

Responsável pela configuração do equipamento. Com um duplo clique nele, você


poderá modificar a configuração de hardware atual, inserindo ou removendo
objetos. Também é possível a criação/modificação de configurações de rede.

4.2 Online & Diagnostics

Esta aba será acessível somente quando o CLP estive em modo online, dando
acesso as funções de reset da CPU, buffer de diagnóstico, capacidade da CPU
de temporizadores/contadores e etc

4.3 Program Blocks

Nesta pasta estão concentrados todos os blocos utilizados no programa, sejam eles
FC, FB, DB, OB. Também está disponível a função para inserir novos blocos ao
programa.

4.4 Technology Blocks

Blocos tecnológicos são blocos de funções prontos e disponibilizados pela


Siemens, como blocos de controle PID, blocos de controle de movimento (motion)
para utilização com inversores de frequência e servos-motores.

Página | 28
Figura 14 - Technology Blocks

4.5 External Source File

Através destas fontes, é possível importar um programa feito em SCL para o projeto
atual Caso você tenha exportado as fontes de um projeto do Simatic Manager, é
possível a importação para o TIA V11 através desta função.

4.6 Declaração da Lista de Variáveis

Um duplo clique sob a opção Show all tags, na pasta PLC Tags, abrirá uma janela onde
poderão ser realizadas todas as declarações de variáveis do sistema.

Página | 29
Figura 15 - Declaração de Variáveis

Para a declaração de variáveis somente é necessária a escrita do nome do símbolo que


será utilizado, ao pressionar a tecla ENTER, automaticamente as outras colunas serão
preenchidas, inclusive a coluna de endereçamento. Por padrão, esta coluna inicia
sempre no endereço
%I0.0. Caso seja necessário mudar a área de endereçamento, o mesmo deve ser feito à mão.

4.7 PLC Data Types

Nesta seção é possível criar um tipo de dado conforme a necessidade do usuário. Ao


invés de se trabalhar com variáveis do tipo bool, byte, word, double word, pode-se criar
uma própria estrutura de dados, acessando-a através de uma DB e utilizando seus
dados internos. Mais detalhes serão vistos no capitulo 6.1.5 de programação
avançada.

4.8 Watch and Force Tables

Neste local é possível criar tabelas para monitorar e forçar variáveis do sistema.
Página | 30
Clicando em “add new watch table”, uma nova tabela será criada. Nela poderão ser
inseridos os endereços a serem monitorados, por exemplo, entradas digitais e
analógicas, saídas digitais e analógicas, memórias de quaisquer tipo, endereços de
DB.
ANOTAÇÕES GERAIS

Página | 31
Figura 16 - Watch Window

Caso seja necessário forçar algum endereço, deve-se manipular a tabela chamada
“force table”. Através dela, o CLP ignora o resultado lógico da operação do
determinado endereço e prevalece o que estiver na tabela de force.

É importante lembrar que não podem ser forçados endereços de entradas digitais ou
analógicas, por se tratarem de elemento que fornecem o sinal para o CLP. São aceitos
apenas endereços de saída digital e analógica, memórias e endereçamentos de DB’s.

Figura 17 - Force table


Página | 32
ANOTAÇÕES GERAIS

Página | 33
Após inserido o valor a ser forçado na colune “force value”, é necessário aplicar
o valor, pressionando o primeiro F da coluna superior esquerda, conforme a figura
17.

4.9 Program Info

Mostra as principais informações a respeito do programa que está sendo desenvolvido, como:

Utilização de memória de dados e de trabalho;

Numero de FC’s, FB’s, DB’s e OB’s utilizados

Memória disponível;

Figura 18 - Program Info

4.10 Local Modules

Dá acesso ao módulos periféricos a CPU, como por exemplo, remotas profibus,


cartões de rede...

Página | 34
Figura 19 - Local Modules

A figura 19 se reflete na seguinte arvore de projeto de local modules:

Página | 35
Figura 20 - Local Modules na Arvore do Projeto

Página | 36
5 Programação Básica

Neste tópico será dada ênfase na utilização de temporizadores, contadores e


comparadores de entradas analógicas. Operação simples, porém de grande importância
durante a programação de CLP’s.

Para o início da programação, deve-se levar em consideração a tabela destacada na figura 10.

Figura 21 - Elementos de Programação

Nesta barra de ferramentas é possível inserir as principais instruções para o


desenvolvimento do programa.

Página | 37
Da esquerda para a direita, na tabela destacada, a ordem de elementos é:

Contato NA;

Contato NF;

Bobina Simples;

Bloco Genérico (utilizados para chamar temporizadores e contadores);

Abertura de linha;

Fechamento de Linha;

Para alteração do tipo da bobina simples, basta um duplo clique sob a mesma, onde
aparecerão os outros modelos disponíveis, conforme figura ao lado.

Instrução Descrição Simbolo


NA Contato Normalmente Aberto

NF Contato Normalmente Fechado

Bobina Simples Bobina Simples

Bobina SET Bobina SET – Atribui o valor 1 ao


endereço de forma retentiva

Bobina RESET Bobina Reset – Atribui o valor 0 ao


endereço de forma retentiva

Bobina SB Bobina Set bit field

Bobina RB Bobina Reset bit field

Página | 38
P Flanco Positivo – Atua como um filtro de
entrada, lendo apenas o instante em
que o nível lógico passa de 0 para 1,
durante um
ciclo de scan.
N Flanco Negativo - Atua como um filtro
de entrada, lendo apenas o instante em
que o nível lógico passa de 1 para 0,
durante um
ciclo de scan.
NOT Contato de Negação – Inverte o nível
lógico da entrada da instrução em sua
saída

5.1 Temporizadores

Existem basicamente três tipos de temporizadores utilizados no TIA V11, são eles:

TON: Temporizador com retardo na energização;

Figura 22 - Gráfico TON

Página | 39
TOF: Temporizador com retardo na desenrgização;

Figura 23 - Gráfico TOF


TP: Temporizador de
pulso;

Figura 24 - Gráfico TP

Para inserir o temporizador, basta selecionar a empty box e nomeá-la com o nome do
temporizador que será utilizado (TON, TOF, TP). A figura 11 mostra este procedimento.

Página | 40
Figura 25 - Inserindo um TON

Página | 41
Ao inserir o temporizador, abrirá uma janela conforme a figura abaixo:

Figura 26 - Nomeando o TON

Nesta janela, é necessário inserir um nome para o temporizador.

IMPORTANTE: NÃO DEVEM SER UTILIZADOS CARACTERES ESPECIAIS E ESPAÇOS NO NOME


DO TEMPORIZADOR.

Página | 42
Inserido o temporizador o mesmo possui duas entradas e duas saídas:

IN: Quando habilitada, inicia a contagem do tempo;

PT: Preset do tempo a ser contado. Sua sintaxe deve ser T#xxs;

Q: Saída do temporizador que é ativada quando a contagem chega ao preset;

ET: Tempo decorrido da contagem. Geralmente utilizado para mostrar em IHM.

Figura 27 - Utilização do TON

Página | 43
As figuras a seguir mostram o comportamento online do temporizador:

Figura 28 - TON Online - Contagem de Tempo

Quando o temporizador atinge a contagem do preset, a saída Q é ativada:

Figura 29 - Tempo Atingido

Página | 44
5.2 Contadores

O contador é dividido em três tipos:

CTU: contador crescente;

CTD: contador decrescente;

CTUD: contador crescente/decrescente.

Para inserir o contador, basta selecionar a empty box e nomeá-la com o nome do temporizador que
será utilizado (CTU, CTD, CTUD). Ao inserir o contador, a mesma janela do temporizador irá
aparecer. Nela deve- se colocar um nome para o temporizador, levando em consideração a
observação do temporizador: NÃO UTILIZAR CARACTERES ESPECIAIS NEM
ESPAÇO.

Figura 30 - Nomeando o Contador

Página | 45
Ao inserir o contador, o mesmo possui três entradas e duas saídas, conforme mostra a
figura abaixo:

CU: Cada pulso nesta entrada, incrementa a contagem do contador;

R: Um pulso nesta entrada reinicia a contagem;

PV: Preset de contagem para acionar a saída Q;

Q: Saída ativada quando a contagem chega no número pré-determinado;

CV: Contagem decorrida até o momento. Normalmente utilizada para IHM.

Figura 31 - Utilizando o Contador

A opção demonstrada acima é a mais prática para se obter os


blocos desejados, porém existem outros meios de chama-los na
network de programação. A outra maneira mais utilizada é através
da barra lateral direita chamada Instructions:

As pastas mais utilizadas são as destacadas em vermelho na figura


ao lado:

Bit logic operation: Possui as operações binárias a serem


utilizadas (contato NA, NF, bobina …);
Timer operations: Possui todos os temporizadores
disponíveis para utilização no software;
Página | 46
Counter operations: Contém os contadores disponíveis para utilização no software;

Comparator operations: Operações de comparações do tipo maior, menor,


maior/igual, menor/igual, igual, diferente e etc...
Math Functions: Operações matemáticas disponíveis de soma, subtração,
divisão, multiplicação e etc...

5.3 Comparadores

Os comparadores são inseridos da mesma forma dos contatos NA, porém devem ser
buscados na aba ao lado, conforme mostra a figura acima:

Os comparadores estão divididos da seguinte maneira:

Igual:

Figura 32 - Comparador Igual


Diferente
:

Página | 47
Figura 33 - Comparador Diferente
ANOTAÇÕES GERAIS

Página | 48
Maior:

Figura 34 - Comparador Maior


Menor:

Figura 35 - Comparador Menor

Maior
Igual:

Página | 49
Figura 36 - Comparador Maior Igual

Página | 50
Menor Igual:

Figura 37 - Comparador Menor Igual

Em todos estes blocos, é muito importante a distinção dos tipos de dados a serem
comparados, pois não é possível a comparação de duas variáveis diferentes, como por
exemplo: Comparar uma variável do tipo INT com uma variável do tipo REAL.

A ordem de processamento da comparação é dada pelo elemento acima do contato com


o elemento abaixo do mesmo, logo, comparamos o primeiro com o segundo.

Página | 51
6 Programação Avançada

Para o desenvolvimento de um programa estruturado, organizado e que facilite


futuras manutenções ou então futuras expansões de hardware/software, faz-se
necessária a utilização de métodos avançados de programação. Estes métodos visam
a melhoria da interpretação do programa, bem como sua estruturação. Tais técnicas
também podem ser utilizadas em programas mais simples, pois quanto mais
organizado o programa, melhor...

Figura 38 - Tipos de blocos

6.1 Tipos de Blocos

Os blocos de programação estão subdivididos em 5 áreas:

FC [Function];

FB [Function Block];

DB [Data Block];

OB [Organization Block];

Página | 52
Dependendo do tipo de bloco a ser utilizado na aplicação, o programa pode ser
dividido nas seguintes áreas:
ANOTAÇÕES GERAIS

Página | 53
Figura 39 - Tipos de Programas

Programa Linear: Tem sua estrutura marcada pela ausência de qualquer bloco. Todo o
programa é escrito dentro do OB1, que é o bloco principal de programação.

Programa Particionado: Tem sua estrutura fracionada em vários blocos. Facilita a


organização e manutenção do programa. Normalmente utilizados com FC’s.

Programa Estruturado:Programação estruturada através da utilização de FB’s.

6.1.1 Functions (FC)

Os elementos Functions são funções que executam determinadas ações e não possuem
armazenamento de memória. Todos os dados são perdidos após a função chegar ao fim
da chamada.

Quando são utilizados blocos do tipo function é necessária a utilização de variáveis


globais para o armazenamento de dados.

Página | 54
Figura 40 - Function

Para criação de uma function, seguem-se os passos conforme descrito na figura:

Figura 41 - Criando uma FC

Após criada a FC, ela ficará armazenada juntamente com o OB1, na pasta Program Block

Página | 55
com a árvore do projeto.

Para criar a programação dentro da FC, devemos levar em consideração as variáveis de


entradas, saídas e temporárias que constituem a mesma.
ANOTAÇÕES GERAIS

Página | 56
Figura 42 - Variáveis da FC

Input: São dados de entrada do sistema, como por exemplo: sensores, botões, fins-de-
curso e etc. Geralmente são variáveis apenas de leitura do sistema

Output: São as variáveis de saída do bloco, como por exemplo: válvula para
acionamento de um cilindro, contatora para acionamento de um motor e etc. Geralmente
são variáveis somente de escrita do sistema, onde pode-se alterar o valor do estado
atual do equipamento.

InOut: São variáveis onde podem ser feitas leituras e escritas simultaneamente.
Geralmente variáveis que possam comunicar com algum sistema de supervisão para
alteração de setpoint’s de um processo.

Temp: São as variáveis temporárias da função. Estas variáveis temporárias que


auxiliam na programação dentro da FC. Ao invés de se utilizar de uma memória M
(globais) do CLP, podem-se utilizar as memórias L (locais). Estas variáveis estarão
disponíveis apenas dentro do bloco que elas foram criadas. Deve-se levar em
consideração que ao utilizar memórias Locais, SEMPRE, deve-se primeiramente
escrever um valor nela, para depois poder fazer uma leitura. Isto justifica o porque de a
FC perder os dados após o término do processamento do bloco. As Fc’s, não possuem
uma área para armazenar os dados após a primeira varredura do software, ou seja, caso
uma leitura seja realizada antes de uma escrita, corre-se o risco de ler um valor que não
seja coerente com o processo.

Página | 57
6.1.2 Function Block (FB)

O FB possui uma área de armazenamento de memória. Toda vez que a FB for chamada,
deverá ser associada a ela um novo data block (DB). Nesta DB, são salvos todos os
tipos de dados do bloco, como: entradas, saídas, variáveis temporárias, locais..

Figura 43 - Function Block

Todos os dados contidos dentro de cada DB, podem ser acessados pela chamada da FB.

Página | 58
Figura 44 - Inserindo um FB

Após criada a FB, ela ficará armazenada juntamente com o OB1, na pasta Program Block

juntamente com a árvore do projeto.

Para criar a programação dentro da FB, devemos levar em consideração as variáveis de


entradas, saídas e temporárias que constituem a mesma.

Página | 59
Figura 45 - Variáveis FB

Input: São dados de entrada do sistema, como por exemplo: sensores, botões, fins-de-
curso e etc. Geralmente são variáveis apenas de leitura do sistema

Output: São as variáveis de saída do bloco, como por exemplo: válvula para
acionamento de um cilindro, contatora para acionamento de um motor e etc. Geralmente
são variáveis somente de escrita do sistema, onde pode-se alterar o valor do estado
atual do equipamento.

InOut: São variáveis onde podem ser feitas leituras e escritas simultaneamente.
Geralmente variáveis que possam comunicar com algum sistema de supervisão para
alteração de setpoint’s de um processo.

Temp: São as variáveis temporárias da função. Estas variáveis temporárias que


auxiliam na programação dentro da FB. Ao invés de se utilizar de uma memória M
(globais) do CLP, podem-se utilizar as memórias L (locais). Estas variáveis estarão
disponíveis apenas dentro do bloco que elas foram criadas. Deve-se levar em
consideração que ao utilizar memórias Locais, SEMPRE, deve-se primeiramente
escrever um valor nela, para depois poder fazer uma leitura.

Static: Variáveis estáticas que são salvas dentro da DB instanciada da FB. Desta
maneira, estes dados são salvos ao final do processamento do bloco, podendo ser
utilizados no próximo ciclo de scan do sistema.

Página | 60
6.1.3 Bloco de Dados (DB)

Blocos de dados são elementos utilizados na organização e estruturação do


programa. Eles dividem-se basicamente em duas estruturas. DB’s globais e DB’s
instanciadas.

DB’s globais podem ser acessados de qualquer parte do programa. Um exemplo


claro de funcionamento de uma DB global é quando ela não está associada a nenhum
FB, por exemplo...uma DB onde estarão todos os dados que serão utilizados na IHM
ou supervisório.

Desta maneira, entende-se que o DB não é uma ferramenta de programação, pois


internamente ele não possui lógicas, apenas armazena dados de todos os tipos para
serem acessados posteriormente.

Figura 46 - Acessando dados de uma DB global

DB’s instanciadas são aquelas que são delcaradas juntamente com alguma FB, por
exemplo: TON, CTU ou qualquer outra FB que for criada dentro do programa.

Existem dois grupos de dados que podem ser trabalhados dentro das DB. São
os tipos elementares e os tipos complexos, aos quais iremos ver a seguir.

6.1.3.1 Tipos Elementares

Página | 61
Dados elementares são utilizados com frequência em programações básicas, pois
possuem os tipos de dados básicos:

Figura 47 - Dados Elementares

6.1.3.2 Tipos
Complexos

Variáveis de tipo complexo são utilizados quando o programa desenvolvido exige um


nível de controle ou estruturação maior, pois em sua maioria são unidos vários tipos
de dados elementares em uma única estrutura, de fácil acesso e entendimento.

Página | 62
Figura 48 - Dados Complexos

6.1.4 Blocos de Organização (OB)

Os blocos de organização são a interface entre o sistema operacional do CLP e o


programa do usuário, elas podem ser programadas pelo usuário, isto permite controlar
a reação da CPU, os blocos de organização chamados pelo sistema operacional para
os seguintes eventos.

Comportamento de partida – Definem como a CPU se porta no momento da


passagem de STOP para RUN.
Processamento de programa cíclico – Execução normal do programa.

Execução de programas dirigidos à interrupção – Partes do código que


necessitam de processamento interrupto em sua execução, como exemplo
pode- se citar um calculo PID.
Manipulação de erros – Diagnósticos do sistema, monitoração e tratamento de erros.

Todas as OB’s têm funções especiais, a próxima imagem descreve a numeração


Página | 63
correspondente a OB’s específicas e logo se descreve algumas OB’s para tratamento e
diagnósticos de erros.
ANOTAÇÕES GERAIS

Página | 64
Figura 49 - Tipos de OBs

Os blocos de organização podem ser divididos da seguinte forma:

Página | 65
Figura 50 - Blocos de Organização

6.1.4.1 OB1 – Program


Cycle

O Program Cycle é executado ciclicamente no bloco principal do programa. Todos os


blocos criados (FC,FB) devem ser chamados nele para serem executados.

6.1.4.2 OB10x – Startup

O OB de startup é executado apenas uma vez quando o modo de operação do


CLP passa de STOP para RUN. Somente após a execução deste OB, é que o
OB Program Cycle será executado.

Página | 66
6.1.4.3 OB20x – Time delay interrupt

Este OB irá interromper o programa ciclico quando um tempo específico de


execução expirar. Por exemplo, uma vez por semana, uma vez por mês. Este
tempo é especificado através da entrada de parâmetro da instrução “SRT_DINT”

Página | 67
6.1.4.4 OB3x – Cyclic Interrupt

O OB de interrupção ciclica é executado em tempos específicos de intervalos. É muito


utilizado para executar blocos de controle PID e ele é definido na janela de diálogo do
OB

6.1.4.5 OB4x – Hardware Interrupt

O OB de interrupção de hardware interrompe a execução do programa cíclico quando


alguma anomalia de hardware é encontrada, por exemplo, a retirada de algum módulo
da CPU ou danificação de algum equipamento de hardware.

6.1.4.6 OB80 – Time error interrupt

A interrupção de tempo ocorre quando o tempo de ciclo máximo é atingido. Este


tempo geralmente é de 150ms e interrompe imediatamente a execução do
programa cíclico.

6.1.4.7 OB82 – Diagnostic Interrupt

A interrupção de diagnostic interrompe a execução do programa cíclico quando a opção


de diagnóstico é habilitada em algum módulo que tenha essa função em específico.

6.2 User Data Type (UDT)

User data types são utilizados muito especificamente quando se fala em programação
estruturada. Através deles, podemos definir um tipo de dado que reúna mais de uma
informação, por exemplo, podemos criar uma estrutura que contenha dados booleanos,
inteiros, reais e etc...tais tipos de dados, são utilizados e acessados em nosso programa
de usuário através da utilização do “.”, como podemos ver na figura 48.

Página | 68
Figura 51 - PLC Data Types

Neste exemplo, foi criada uma estrutura para se trabalhar com valores analógicos.
Todos estes valores serão lidos e utilizados num sistema de supervisão, logo, reunimos
todas as informações necessárias em um único tipo de dado, chamado ANALÓGICO.

Para acessar estar informações, temos que declarar uma variável do tipo
ANALÓGICO em nossa DB principal.

Figura 52 - Declarando uma UDT

Página | 69
Note que o software criou uma estrutura em cima do tipo de dado analógico. Neste
estrutura estão todos os dados contidos no tipo de dado criado anteriormente. Para
acessar estes dados, devemos primeiro acessar a DB depois a estrutura da UDT para
então acessar a informação final.

Outra utilização da UDT é na criação de tipos de dados para comunicação com


protocolos específicos, por exemplo DNP3.0, um protocolo muito utilizado em Usinas
Hidrelétricas e Subestações. Também pode ser utilizado para criar tipos de dados que
facilitem a comunicação com equipamentos externos.

6.3 Multi-instance

O multi-instance é muito utilizado quando falamos em programação estruturada, pois


ele permite declarar diversos tipos de dados e blocos dentro de um Data Block. Para se
utilizar do multi-instance é indispensável que se faça a utilização de Function Block,
pois apenas nela está disponível a área de memória STATIC, ao qual é utilizada na
declaração do multi instance, conforme indica a figura 50

Página | 70
Figura 53 - Multi-instance

Neste caso, declaramos um temporizador IEC na aba static de uma FB. Como já visto
anteriormente, os temporizadores IEC se utilizam de DB’s para armazenamento de seus
dados, sendo assim, a partir deste momento, será possível acessar seus dados
internamente dentro de uma DB, pois dentro da DB principal da minha FB1, inserimos
mais uma DB, que é a DB do temporizador. Desta forma, note que agora existe um
sustenido “#”

Outra maneira de instanciar a DB é quando o bloco é chamado na network do programa.

Página | 71
Figura 54 - Intanciando o DB

Neste caso, devemos selecionar a opção multi-instance, nomear a db conforme a


nossa preferência e então ele ficará da mesma forma da figura 50. Com o sustenido
em frente e podendo ser acessada dentro do bloco.

O multi-instance funciona para qualquer tipo de DB, não podendo ser utilizada em FC’s

6.4 Controle PID

Os controladores da siemens, possuem um bloco nativo para controle de processos.


Este bloco pode ser encontrado na aba Technology conforme mostra a figura 51.

Página | 72
Figura 55 - Bloco de Controle PID

Para o correto funcionamento do bloco PID, é necessário que seja criado um Bloco de
Organização de interrupção de tempo OB30, pois a atualização do PID tem prioridade
sobre a execução do programa cíclico.

Página | 73
Figura 56 - Inserindo o OB30

Neste OB30, iremos configurar o scantime em 100ms, porém, pode ser configurado um
tempo qualquer a cima de 10ms.

Quando o bloco for inserido em uma network do programa, ele seguirá o mesmo conceito
de temporizadores e contadores que vimos anteriormente, necessitando nomear a DB
que ele possui.

Após inserido, o bloco ficará da seguinte maneira:

Página | 74
Figura 57 - Bloco PID

Neste caso, dois botões aparecem no canto direito superior do bloco são eles:

Botão de configuração;

Botão de comissionamento;

Ambos abrem novas janelas para acesso as configurações do sistema.

6.4.1 Configuração do PID

Na janela de configuração do PID, temos acesso a três diferentes abas:

Basic settings:Nesta aba é configurado o tipo de controle que será utilizado,


exemplo, temperatura, pressão, nível, vazão e etc...além de entrar também com
os endereços das variáveis externas (sensores e atuadores) relevantes ao
processo,

Página | 75
Figura 58 - Janela de configuração do PID

Process value settings:Nesta aba se encontram os valores de escala do


processo, tanto das variáveis de entrada quanto as de saída

Figura 59 - Configuração da escala do PID

Advanced settings: Nesta aba é possível fazer a configuração manual dos


valores de PID principalmente, além de poder configurar também valores de
limite para atuação das saídas.

Página | 76
Figura 60 - PID manual

Para poder acessar os parâmetros de PID através de uma IHM, deve-se acessar os
seguintes parâmetros dentro da DB do bloco PID na estrutura sRet.

P = r_Crtl_Gain

I = r_Ctrl_Ti

D = r_Ctrl_Td

Página | 77
Figura 61 - Acesso aos parametros PID
ANOTAÇÕES GERAIS

Página | 78
6.4.2 Comissionamento do PID

No botão de comissionamento, localizado no canto superior direito do bloco PID,


pode ser analisado um gráfico de atuação do bloco em cima das variáveis de controle.
Inicialmente o PID não é executado. Para ele inicar a execução do bloco, deve-se
pressionar o botão Start, conforme figura abaixo:

Figura 62 - Start do PID

O próximo passo é executar o pretunnig, onde o bloco realiza o primeiro ciclo de


cálculos tentando aproximar ao máximo a entrada (pena verde), do setpoint do
sistema (pena azul). Para que isto aconteça, devemos pressionar o botão start do
Pretuning, no canto superior direito da tela de comissionamento.

Página | 79
Figura 63 - Pretuning PID

Os cálculos de pretuning nem sempre são precisos, em função disto, é possível realizar
outros tipos de cálculo, utilizando o modo fine tuning

6.5 Linguagem SCL

SCL é uma linguagem de programação que segue os padrões de utilização do VB


script da Microsoft e também do Delphi da Borland. Através de uma linguagem alto
nível, pode-se chegar a resultados lógicos de operações com métodos muito mais
ágeis e simples do que através da linguagem convencional Ladder.

Nos CLP’s S7-1200 e S7-1500, o SCL já está incorporado na criação de FC’s e FB’s.
Nas versões do Simatic Manager V5.5, é necessária a utilização de um pacote de
software adquirido separadamente.

Página | 80
Figura 64 - Exemplo de código SCL

Através da programação de alto nível, é possível a utilização de funções como IF,


ELSE, CASE, FOR, WHILE e etc, que auxiliam na criação de blocos, principalmente
quando se tratam de cálculos numéricos e conversões de tipos de dados.

A figura abaixo monstra algumas funções de conversão de dados:

Página | 81
Figura 65 - Funções de conversão de tipos de dados

Exemplo de funções numéricas:

Figura 66 - Funções de conversão numérica

Estas são as principais funções utilizadas para a programação SCL, de acordo com a
norma IEC 61131-1.

Página | 82
Outras linguagens de programação de acordo com a norma são:

Ladder;

FBD;

Grafcet;

STL;

SCL;

Demais dúvidas podem ser encontradas no manual do equipamento.

6.6 Comunicação entre dois S7-1200 via ethernet

Primeiramente devemos ter em apenas um projeto a configuração de hardware das duas


estações que irão comunicar-se pela rede.

Figura 67 - Estações configuradas

É importante salientar que as duas estações devem estar no mesmo domínio de


endereçamento IP. Neste exemplo a estação denominada PLC_1 irá enviar dados para
a estação denominada PLC_2.

Para isto, se faz necessária a utilização de dois blocos do sistema disponíveis na biblioteca

Open Communication, do software.


Página | 83
6.6.1 Configuração TSEND_C

Figura 68 - Blocos de comunicação ethernet

No projeto PLC_1, deverá ser inserido o bloco TSEND_C, para envio de dados ao
PLC_2. Ao inserir este bloco, automaticamente o software cria uma DB para
comunicação. Esta DB poderemos nomeá-la conforme nossa necessidade.

Página | 84
Figura 69 - TSEND_C

Após inserido o bloco, devemos configurar ele devidamente em suas propriedades.

Figura 70 - Configuração bloco TSEND_C


Página | 85
Na aba Configuration das propriedades do bloco TSEND_C, iremos selecionar o
parceiro de conexão do PLC_1, que neste caso é o PLC_2. Assim que selecionado,
automaticamente, ele puxará as informações desta estação como subrede e endereço
IP.

O próximo passo é a configuração de uma conexão de dados no PLC_1

Figura 71 - Connection data TSEND_C

Por hora, iremos deixar de lado a configuração do parceiro PLC_2. Lembre sempre de
salvar o projeto.

Página | 86
Figura 72 - TSEND_C configuração

Neste caso, a conexão ficará configurada da maneira conforme a figura 53. Será utilizada
coma conexão ISO-on-TCP e no campo TSAP, devemos completar com ISSO-1 nos dois
campos.

Com os parâmetros de conexão do bloco configurado, devemos agora configurar os


parâmetros de envio do bloco. Para isto, devemos ir na aba Block Parameters

Página | 87
Figura 73 - Block Parameters TSEND_C

Neste caso, devemos fazer a configuração conforme a figura 54. Na área SEND AREA
(DATA), iremos configurar o dado que será enviado para o parceiro PLC_2. Neste caso,
podemos declarar uma memória qualquer MW10. Caso fosse necessário o envio de
mais informações, poderíamos utilizar o campo length para isto. Ao final da
programação, o bloco ficará da seguinte maneira:

Página | 88
Figura 74 - Bloco TSEND_C configurado

6.6.2 Configuração TRCV_C

Com o bloco de envio configurado, devemos agora, fazer a configuração do bloco de


recebimento na estação PLC_2. A configuração procede da mesma maneira do
TSEND_C.

Página | 89
Figura 75 - Configuração TRCV_C

A configuração da estação PLC_2, na aba propriedades do bloco TRCV_C ficará


conforme a figura 56. Devemos selecionar o parceiro, que neste momento é a estação
PLC_1 e adicionar as conexões de dados a eles. Para o PLC_2 deverá ser criada uma
nova conexão. Para o PLC_1, utilizaremos a que já é existente.

Na aba Block Parameters iremos configurar conforme a figura 57.

Página | 90
Figura 76 - TRCV_C Block Parameters

Nesta aba, iremos configurar no campo RECEIVE AREA (DATA),onde iremos receber os
dados enviados pelo PLC_1, podendo ser uma memória de qualquer endereço, não
necessariamente o endereço configurado no PLC_1.

Após configurado o bloco TRCV_C, devemos agora, retornar ao projeto do PLC_1 e o


campo que havia ficado incompleto durante a sua configuração, devemos complementar
as informações com a conexão de dados criada no PLC_2.

Página | 91
Figura 77 - Conecction Data TSEND_C

Com os blocos TSEND_C e TRCV_C configurados, devemos fazer um trigger na


entrada REQ do bloco TSEND_C. Este trigger pode ser feito de diversas maneiras,
inclusive fazendo a utilização das Clock Memory disponibilizadas e configuradas em
cada equipamento. Por outro lado, na entrada REQ da estação PLC_2, sempre
estaremos com ela habilitada, de modo que os dados enviados sempre cheguem ao
destino.

Página | 92
Figura 78 - Entrada REQ TSEND_C

Como pode-se ver na figura 59, inserimos uma clock memory de 1Hz na entrada REQ.
Ou seja, esta entrada ficará variando entre 0 e 1 e sempre na borda de subida, fará o
envio de dados ao parceiro.

6.7 Rede AS-i

A rede Actuator Sensor – interface (AS-i) é um protocolo aberto para transmissão de


dados digitais e analógicos a nível de processo, capaz de interligar atuadores e sensores
a sistemas de controle através de uma interface padronizada, onde, alimentação e
dados utilizam do mesmo meio físico.

Página | 93
Figura 79 - Topologia convencional de um sistema de automação
Tendo em vista a utilização de apenas um cabo para alimentação e transmissão de
sinais, é notável a grande diferença, principalmente em nível de manutenção quando o
sistema AS-i é utilizado. Em um sistema convencional, sem a utilização do protocolo,
todos os elementos de campo (atuadores e sensores) estariam ligados diretamente a
CPU do processo, conforme a figura 49.

Figura 80 - Ligação convencional

Página | 94
Isto levaria diretamente ao que representa a figura 50, em termos de fios e cabos em
leitos e eletrocalhas da instalação.

Figura 81 - Instalação convencional

O protocolo AS-i é utilizado também visando a diminuição do tempo de instalação dos


sensores e atuadores de campo, bem como a diminuição da utilização dos espaços
físicos. Tendo em vista a utilização da rede AS-i, o sistema da figura 49 é diretamente
correspondente ao da figura 51 abaixo:

Figura 82 - Ligação com rede AS-i

Isto remete diretamente a instalações físicas menores, conforme a figura 52:


Página | 95
Figura 83 - Instalação AS-i

6.7.1 Topologia

A capacidade de escravos da rede AS-i vem crescendo a cada versão lançada da


topologia,também é possível utilizar este protocolo para seguranças de máquina,
relacionadas a NR-12, pois ela possui módulos compatíveis com a função Fail Safe
(falha segura).

Página | 96
Figura 84 - Linha do tempo AS-i

Os equipamentos que compõe um sistema AS-i são os seguintes:

Página | 97
Mestre da rede:

Fonte de Alimentação 24V;

Estações escravas para interligação dos elementos de camp

Figura 85 - Topologia Rede AS-i

Também é possível a integração da rede AS-i com outras redes, para isto, faz-se
necessária a utilização de “coupler”, que são gateways de conversão de um determinado
protocolo para outro, que veremos a seguir.

Página | 98
Figura 86 - Topologia integrada
A figura 55 mostra uma topologia integrada a sistemas Profinet e Profibus.

Para a instalação de componentes AS-i, deve-se levar em consideração que a rede por
padrão tem um alcance de 100m e até 62 escravos, porém, caso a rede tome outras
proporções, faz- se necessária a utilização de acessórios para aumentar o alcance da
rede.

Figura 87 - Características rede AS-i

Padrão: 100m sem acessórios adicionais;

Com plug extensor: 200m, apenas uma fonte de alimentação é necessária

Página | 99
Com repetidor:300m, 100m por segmento com um repetidor e uma fonte de
alimentação por segmento. Importante salientar que pode-se ter apenas dois
repetidores em série sem a utilização de escravos entre eles.
Com repetidor e plug extensor:400m, apenas um repetidor ligado em série se
combinado ao plug extensor

A máxima distância que a rede pode alcançar é de 600m, levando em conta algumas
considerações:

Máxima distância entre o mestre da rede e os escravos: 400m

1 fonte de alimentação por segmento;

Com repetidores conectados em paralelo: extensão em todas as direções


partindo do mestre;
Com plug extensor: 200m por segmento;

Figura 88 - Topologia em arvore

6.7.2 Módulos de I/O

Existem dois meios de se conectar os sensores de campo à rede AS-i:

Módulos de I/O, chamados módulos de campo;

Dispositivos com AS-i inegrado;


Página |
100
No primeiro meio, os sensores e atuadores que não possuem AS-i integrado, são
conectados a módulos AS-i e estes fazem a conversão do sinal para a rede, conforme
mostra a figura 58.

Página |
101
Figura 89 - Módulos de campo

Para a correta instalação destes módulos, devemos fazer a ligação do cabo AS-i
(amarelo) para a alimentação e troca de dados quando estivermos utilizando módulos
de entradas digitais. Caso sejam utilizados módulos de saída digital, é necessária a
instalação do cabo auxiliar da fonte (preto) para uma segunda alimentação aos
dispositivos a serems acionados.

Figura 90 - Montagem dos módulos

A conexão física dos componentes é dada através dos “terminais vampiro”, que
perfuram o cabo e fazem a conexão com os terminais do módulo;

Página |
102
Figura 91 - Terminais Vampiro

Quando os dispositivos utilizados já possuem a rede AS-i incorporada, não se faz


necessária a utilização de módulos de campo, pois os próprios equipamentos já
possuem a conexão com os cabos da rede.

Figura 92 - Dispositivos com AS-i integrado

Página |
103
ANOTAÇÕES GERAIS

Página |
104
6.7.3 Endereçamento de Rede

O endereçamento da rede para os módulos de campo ou para os dispositivos com a


rede integrada, se dá através do módulo configurador. Nele é possível configurar o
endereçamento de cada módulo da rede, bem como monitorar os níveis de tensão da
mesma.

Com o configurador é possível a endereçar apenas um módulo por vez.

Figura 93 - Módulo configurador

Como em qualquer outra rede, não é possível que dois escravos possuam o mesmo
endereçamento, pois ocasiona erro na rede e até, em alguns casos, a parada do CLP.

Página |
105
6.7.4 Comunicação via DP coupler para rede AS-i

O equipamento utilizado neste exemplo é visto como um escravo Profibus-DP, porém


um mestre da rede AS-i. Ele possui dois botões e alguns LED’s para a sua
confiuguração.

Figura 94 - Topologia com DP coupler

No manual do equipamento existem todas as funções dos LED’s do equipamento e suas


funções. O código do equipamento utilizado fisicamente é o 6GK1 415-2AA10, porém,
no software o equipamento utilizado na configuração deve ser o 6GK1 415-2AA01,

Página |
106
conforme especificação do fabricante.
ANOTAÇÕES GERAIS

Página |
107
Figura 95 - Módulo DP Coupler AS-i

Para a configuração do endereço Profibus-DP do módulo coupler, deve-se pressionar o


botão

Display até que o LED ADR fique aceso. Após isto, deve-se seguir a seguinte sequencia:

1. Interromper a comunicação Profibus;

2. Pressionar o botão “display” até o LED ADR ficar aceso (após isto, ele indicará
o endereço atual do escravo);
3. Caso você pressionar “display” novamente, ele retornará para o endereço do
escravo e o o endereço ficará salvo;
4. Quando você pressionar o botão “set”o LED ficará aceso, do contrário, se você
pressionar “display”o LED se apagará. Você deverá repetir a operação para os
7 LED’s de endereço, ligando ou desligando cada BIT para compor o endereço
seguindo a seguinte sequencia: 1-2-4-8-16-32-64. Com esta estes 7 LED’s de
endereçamento, ó possível fazer combinações de 0 a 127 (número máximo de
escravos profibus, conforme norma);
Página |
108
5. Quando todos os bits estiverem endereçados os LED de endereço começarão a
piscar, se você pressionar o botão “set”, ele salvará o endereço do escravo. Caso
você pressione o botão “display”, o endereço será descartado.

Figura 96 - Endereçamento Profibus

Neste caso, temos o endereço Profibus configurado em 69 ( 64+4+1), conforme a


figura 65. Feito isto, devemos iniciar a programação no TIA PORTAL.
A primeira etapa é configurar o hardware do CLP que corresponda ao KIT de
desenvolvimento utilizado no curso.

Após esta configuração, deve-se primeiramente selecionar a aba Network view, dentro
de Devices & Networks na árvore do projeto. Selecionando esta aba, o catálogo de
hardware irá mudar, oferecendo as opções de equipamentos que podem entrar em rede
conforme a figura 66.

Página |
109
Figura 97 - Selecionando o DP Coupler no catálogo de hardware

Com um duplo clique no equipamento, o mesmo aparecerá na área comum da janela


principal de configuração, porém, não haverá nenhuma rede associada a este escravo,
conforme a figura 67.

Página |
110
Figura 98 - Escravo inserido

Para associar uma rede ao escravo, o método utilizado é o drag & drop (arrastar e soltar)
entre as conexões de cor roxa dos dois equipamentos.

Página |
111
Figura 99 - Rede profibus associada entre os equipamentos

Selecionando o escravo na tela da figura 68, teremos que configurar o mesmo endereço
profibus configurado no hardware, agora no software.

Página |
112
Figura 100 - Configuração do endereço Profibus no TIA

O próximo passo é dar um duplo clique no escravo dp coupler, a fim de entrar em suas
propriedades de confoguração.

Figura 101 - Configuração DP Coupler


Página |
113
Neste caso, iremos configurar uma troca de dados de 16 bytes entre mestre e escravo,
tendo disponíveis os endereços 2 até 17 para entradas e 2 até 17 para saídas.

A comunicação com os escravos AS-i, acontece de forma direta, utilizando os endereços


citados acima. Como neste curso trabalhamos com um módulo de 4 entradas e outro
módulo de 4 saídas, para acessar estes endereços, utilizaremos da mesmo forma que
acessamos endereços nativos da CPU, através das letras “I” e “Q” respectivamente.
Desta forma teremos os seguinte endereços acessíveis:

I 2.0 até I 2.3 – representando as 4 entradas do módulo de campo;

Q2.0 até Q2.3 – representando as 4 saídas do módulo de campo;

Figura 102 - Acesso aos endereços AS-i

6.8 Rede Profibus DP

Página |
114
7 Download do Programa

Página |
115
Com o programa finalizado, é necessário fazer o download do mesmo para o equipamento.

Figura 103 - Fazendo Download

A tela acima Irá abrir e então será necessário selecionar qual o meio físico utilizado para
efetuar o download. No caso do kit de desenvolvimento, estará previsto a utilização do
meio físico, ethernet, bem como sua referida placa de rede, conforme mostra a tabela
destacada na figura 24.

Caso em um primeiro momento o programa não encontre nenhum CLP na rede, significa
que o IP configurado é diferente do IP programado no CLP, desta forma, faz-se
necessária a utilização da opção “Show all accessible devices”, para que o programa
encontre todos os equipamentos conectados a ele e assim, será feita a seleção do CLP
e posteriormente o download.

Obs.: Para efetuar o download completo, isto é, configuração de hardware + software,


é necessário selecionar na aba do Projeto, o item do CLP_1[CPU 1214C DC/DC/DC],
lembrando que todo download de hardware leva a CPU para stop.

Caso seja necessário apenas o download do software, é necessário selecionar a pasta


Página |
116
Program Block e prosseguir com o download.

Página |
117
8 Iniciando um Projeto com a IHM

Levando em consideração que a programação vai ser feita de forma integrada entre
CLP e IHM, e que os dois equipamentos vão permanecer no mesmo projeto, podemos
ter como base o projeto existente até o momento desta apostila. No projeto que estamos
trabalhando, podemos inserir um novo equipamento, conforme sugere a figura abaixo:

Figura 104 - Inserindo a IHM

Página |
118
Após o duplo clique em Add new device, a seguinte janela irá aparecer para fazer a
seleção do equipamento desejado:

Figura 105 - Selecionando o Equipamento

O kit didático utilizado em aula acompanha uma IHM modelo KTP 700 Basic Color
PN, desta forma, devemos localizá-la na árvore acima e em seguida, clicar em OK.

Página |
119
8.1 Configurando a IHM

8.1.1 Criando a Conexão com o CLP

Após a seleção do equipamento, uma janela assistente para configuração irá aparecer.
Nesta janela estão todas as opções necessárias para a pré-configuração da IHM, onde
pode ser feita a seleção da conexão, pré-criação de alarmes, layout de telas, mapa de
navegação e etc...

Figura 106 - Inserindo uma Conexão entre IHM e CLP

Nesta figura, podemos selecionar com qual CLP iremos fazer a conexão, caso nosso
projeto tenha mais de um equipamento.

Página |
120
Com esta IHM, pode-se estabelecer conexão com mais de um CLP também, basta
inserir uma nova conexão manualmente após finalizado o assistente.

Após selecionada a conexão, clicar em NEXT.

Página |
121
8.1.2 Layout de Tela

A próxima tela trata-se da configuração do layout da página:

Figura 107 - Configurando o Layout da Página

Neste parte da configuração, é possível selecionar um logo para colocar no


cabeçalho da página, bem como opções de esconder/mostrar o relógio, cor de
fundo da tela.

Página | 100
8.1.3 Pré-configurando alarmes:

Após a configuração do layout da página, podem ser pré-configuradas algumas


telas de alarmes, como:

Alarmes ativos;

Alarmes reconhecidos;

Alarmes não reconhecidos.

Figura 108 - Pré-configurando Alarmes

Neste caso, não é necessário selecionar as telas de alarmes.

Página | 101
8.1.4 Mapeamento de Telas

Nesta tela é possível fazer um mapeamento de navegação e telas da IHM. Ao clicar no


símbolo “+” da tela, a mesma criará outra tela.

Figura 109 - Navegação de Telas

É importante salientar que todas as telas criadas nesta etapa do assistente,


automaticamente já serão criadas no projeto, com o nome dado a tela e também
botões de navegação entre as telas.

Página | 102
8.1.5 System Screen

A seguinte tela “System Screen” dá a opção de adicionar ao projeto da IHM as telas de


sistema, são elas:

Informações do projeto: mostra as informações básicas, modelo de IHM,


versão de software e etc..
Configuração: Modos de operação, Linguagem...

Administração de Usuários;

Informações do sistema.

Figura 110 - Configuração de Telas do Sistema

Página | 103
8.1.6 Rodapé

A tela a seguir da a opção de configurar também o layout da página, porém, seu foco
são nos botões de operação. Nela você poderá escolher quais os botões necessários
para a sua aplicação, são eles:

Home: Volta para a tela principal do projeto;

Language: Seleciona o idimoa da IHM;

Login/Logoff: Faz o login/logoff do operador da IHM;

Power: Troca o modo de operação da IHM.

Figura 111 - Botões pré-configurados

Página | 104
8.2 Objetos de Tela

Figura 112 - Objetos de Tela

8.2.1 Basic Objects

Na janela Basic Objects, temos os seguintes objetos para serem utilizados:

Linha;

Elipse;

Circulo;

Retângulo;

Texto;

Página | 105
Figura;

Estes objetos podem são utilizados principalmente para sinalização de processo,


podendo trocar de cor, aparecer ou desaparecer, conforme os tags associados a
eles.
ANOTAÇÕES GERAIS

Página | 106
8.2.2 Elementos

Na aba elements, podemos ter acesso aos seguintes elementos:

8.2.2.1 Display (I/O Field)

Pode ser utilizado como entrada de dados ou saída de dados, ou ainda


entrada/saída ao mesmo tempo. Muito utilizados para visualização de valores
internos do CLP como temperatura, nível, contagem e etc...

8.2.2.2 Botão

Utilizado para executar ações, conforme a necessidade do projeto. Para o correto


funcionamento, deve-se associar uma tag ao botão, que irá executar uma das seguintes
funções;

8.2.2.3 Display Simbólico (Symbolic I/O Field)

Este display pode ser utilizado para selcionar textos conforme a necessidade do projeto,
por exemplo: Seleção de Receitas, Seleção de Rotas, Seleção de Modo de Operação;

8.2.2.4 Display Gráfico (Graphic I/O Field)

Display Gráfico que possibilita a escolha de arquivos de figuras do mesmo modo


do item acima.

8.2.2.5 Display de Data/Hora (DateTime Field)

Mostra um display de data/hora. Pode ser configurado para mostrar apenas a Data ou
apenas a Hora, ou os dois.

Página | 107
8.2.2.6 Bar (Bar)

Este objeto permite mostrar a variação de valores analógicos.

8.2.2.7 Switch (Switch)

Este botão é utilizado como botão de seleção, pois ele não é apenas um pulso no
tag associado. Ele mantem o valor selecionado. Funcionamento semelhante a um
botão com trava.

Página | 108
8.3 Propriedades dos objetos

Ao inserir qualquer objeto na tela, ele poderá ser alterado conforme a necessidade do
nosso projeto, para isso, existem 3 principais abas em qualquer objeto adicionado na
tela, são elas:

Propriedades;

Animações;

Eventos.

A aba de propriedades inclui todas as configurações do botão, como por exemplo;

General: Configuração geral do botão, como texto (label), que aparece ao


pressionar ou soltar o botão, seleção de tecla de atalho (hotkey), e seleção do
modelo do botão;
Appearence: Configuração da aparência do botão. Nesta aba pode-se
configurar a cor de fundo do botão e também a cor da letra que aparecerá na
parte posterior do mesmo.
Design: Utilizado para configuração do estilo do botão, se é 3D ou não;

Layout: Nesta aba é configurado o tamanho exato do botão, bem como


seu posicionamento na tela;
Text Format: Formato do texto;

Miscellaneous: Utilizado para configurar o nome do objeto e também a


camada associada a ele;
Security: Nesta seção pode-se configurar o nível de acesso a execução da
ação do botão:

Página | 109
Figura 113 - Propriedades do Botão

Figure 1 - Propriedades do botão

8.4 Animações

Na aba Animations do objeto da IHM, pode-se configurar tudo em relação a animações


que o objeto pode ter. Estas animações, podem ser do tipo:

Visibility: Esconde/Mostra o objeto conforme o estado da tag associada a ele,


quando é criada uma conexão tag/animação;
Display: Pode-se configurar também para que o objeto mude sua cor, de acordo
com a situação da tag associada, por exemplo: a figura de um motor desligado
deve ser verde, ao ligar o motor, automaticamente, a cor do mesmo, muda para
vermelho. Este tipo de efeito é causado pela associação de uma tag booleana
na propriedade display do objeto;
Movement: Pode ser feito com que o objeto mude seu posicionamento de acordo
com a tag associada no projeto. Por exemplo, em determinada situação, o objeto
botão deve estar presente num ponto X,Y da tela. Ao acionar um sensor no
campo, o mesmo botão deverá deslocar-se para outro ponto da tela,
automaticamente.
Página | 110
Figura 114 - Animações do Objeto Botão

Página | 111
8.5 Events

Na aba Events, poderemos executar funções pré-determinadas para que o processo funcione
adequadamente, por exemplo:

Ao clicar num botão, outra tela deverá abrir, ou um motor deverá acionar e etc...

Figura 115 - Eventos do objeto Botão

Na aba events, podemos selecionar a fonte do evento, conforme mostra a figura 36:
Click: Evento chamado no clique do botão;

Press: Evento chamando quando pressionamento o botão;

Release: Evento chamando quando soltamos o botão;

Activate: Evento chamando quando o objeto é ativado;

Deactivate: Evento chamado quando o objeto é desativado;

Change: Evento chamando quando o valor do tag associado, muda seu valor;
Página | 110
É importante lembrar que apenas quando o objeto da tela for um BOTÃO,
utilizaremos os eventos, pois em objetos de sinalização

8.5.1 Funções dos Eventos

Após selecionado o evento, devemos incluir uma função a este evento, como sugere
a figura 37.

Figura 116 - Funções dos Eventos

Página | 111
As funções disponíveis estão separadas em grupos, como segue:

All system functions: Todas as funções disponíveis, sem distinção de grupo;

Alarms: Reune todas as funções relacionadas a alarmes;

o Mostrar janela de alarmes;


ANOTAÇÕES GERAIS

Página | 112
o Limpar o buffer de alarmes;

Calculations scripts: Utilizada para fazer cálculos matemáticos quando o


evento é chamado;
o Incrementar tag;

o Decrementar tag;

Edit bits: É a área mais utilizada, visto que através dele é possível a
manipulação de valores de bits;
o InvertBit: Cada vez que é chamado, inverte o valor do bit;

o SetBit: Leva o valor do bit para 1;

o ResetBit: Leva o valor do bit para 0;

Keyboard:

Keyboard operating for screen objects

Other functions:

o Stop runtime: para o serviço da IHM e leva para o painel de controle;

Screens: Utilizado para manipulação de telas

o ActivatePreviousScreen: Ativa a tela anterior a atual;

o ActivateScreen: Ativa a tela conforme o nome da mesma;

o ActivateScreenByNumber: Ativa a tela conforme o numero da mesma;

Settings: Manipula as configurações da IHM;

o ChangeConnection: Muda a conexão da IHM, caso haja alguma


outra configurada. Por exemplo: Conexão Profinet e Conexão
Profibus;
System: Configurações do sistema

o CalibrateTouchScreen: Calibra a tela touchscreen durante o runtime;

Página | 113
INTERFACE DO USUÁRIO

O InduSoft Web Studio incorpora uma moderna interface, baseada na Faixa de


Opções do Windows para fornecer um integrado e amigável ambiente de
desenvolvimento.

Figura 1: Ambiente de Desenvolvimento do IWS

5.1. BARRA DE TÍTULO

A barra de título localizado na parte superior do ambiente de desenvolvimento exibe o


nome do aplicativo (e.g., InduSoft Web Studio) seguido do nome da tela ativa ou planilha
(se houver).

Figura 2: Barra de Título

A Barra de Título também oferece os seguintes botões (da esquerda para a direita):

Botão Minimizar: Clique para minimizar a janela do ambiente de


desenvolvimento para a Barra de Tarefas.

Restaurar Abaixo/Maximizar: Clique para alternar a janela do ambiente de


desenvolvimento entre dois tamanhos:

Página | 114
Botão Restaurar Abaixo: reduz a janela ao seu tamanho original
(padrão).

Botão Maximizar: amplia a janela para preencher a tela do computador.

Botão Fechar: Clique para salvar o Banco de Dados e então feche o ambiente
de desenvolvimento. Se você modificou qualquer tela ou planilha, o aplicativo
solicitará que você salve seu trabalho. A função deste botão é semelhante a
clicar Sair da Aplicação no menu do Aplicativo.

5.2. BARRA DE ESTADOS

A Barra de Estados localizada na parte inferior do ambiente de desenvolvimento


fornece informações sobre a tela ativa (se houver) e o estado do aplicativo.

Figura 3: Barra de Estados

Os campos da Barra de Estados (da esquerda para a direita) estão descritos na


tabela a seguir:

Campo Descrição
Modo de execução O atual Modo de execução da aplicação.
CAP Indica se a tecla Caps Lock está ligada (preto) ou desligada
(cinzento).
NUM Indica se a tecla Num Lock está ligada (preto) ou desligada
(cinzento).
SCRL Indica se a tecla Scroll Lock está ligada (preto) ou desligada
(cinzento).
ID do Objeto O número de identificação de um objeto selecionado da tela.
Posição do Cursor A localização do cursor na tela ativa ou planilha. Se é uma tela,
então a posição do cursor do mouse é dada como coordenadas
X, Y, onde X é o número de pixels da borda esquerda da tela e
Y é o número de pixels da borda superior da tela. Se for uma
planilha, então a posição do cursor de texto é dada como linha
e coluna.

Tamanho do O tamanho (em pixels) de um objeto selecionado da tela, onde


Objeto W é a largura e H é a altura.
no DRAG Indica se o drag (arrastador) está desativado (No DRAG) ou
ativado (vazio) na tela ativa.
Contador de Tag O número total de tags utilizadas até o momento no projeto.

Tabela 1: Campos da Barra de Estados

Página | 115
5.3. BOTÃO DE ARQUIVO

O botão de aplicativo abre um menu de comandos padrão do aplicativo do Windows, como


Novo, Abrir, Salvar, Imprimir e Fechar.

Figura 4: Botão de Arquivo e Menu de Comandos

5.4. BARRA DE ACESSO RÁPIDO

A Barra de Acesso Rápido é uma barra de ferramentas personalizável que contém um


conjunto de comandos que são independentes da aba de opções que está sendo
exibida.

Figura 5: Barra de Acesso Rápido

Apenas comandos podem ser adicionados na Barra de Acesso Rápido. O conteúdo da


maioria das listas, como o travessão e o espaçamento entre valores e estilos individuais,
que também aparecem na faixa de opções, não pode ser adicionado à Barra de Acesso
Rápido.

Página | 116
5.5. MENU RIBBON

O novo Menu Ribbon combina os numerosos menus e barras de ferramentas da versão


anterior do IWS, em uma única e amigável interface. Quase todos os comandos do
aplicativo estão no Menu Ribbon, organizado em abas e grupos de acordo com o uso
geral.

5.5.1. Aba Início

A Aba Início do Menu Ribbon é usada para gerenciar o seu projeto dentro do ambiente
de desenvolvimento.

Figura 6: Aba Início

As ferramentas estão organizadas nos seguintes grupos:

Área de transferência: Cortar, copiar, colar, e procurar itens nas telas do


projeto e planilhas de tarefa.

Gerenciamento Local: Executar e parar o projeto na estação local (i.e., onde a


aplicação de desenvolvimento está instalada), bem como gerenciar as Tarefas
em execução.

Gerenciamento Remoto: Conectar a uma estação remota (e.g., um dispositivo


Windows Embedded) então você pode fazer o download do projeto, e então
executar, parar, e solucionar problemas do projeto nessa estação.

Ferramentas: Ferramentas diversas para verificar o projeto, importar tags de


outros projetos, converter resolução de tela, e registrar controles ActiveX e
.NET.

Tags: Manipular tags e propriedades de tags no banco de dados do projeto.

5.5.2. Aba Visualizar

A Aba Visualizar do Menu Ribbon é usada para personalizar a aparência do ambiente


de desenvolvimento em si.

Figura 7: Aba Visualizar

Página | 117
As ferramentas estão organizadas nos seguintes grupos:

Mostrar/Ocultar: Mostrar e ocultar as diferentes partes do ambiente de


desenvolvimento, bem como restaurar o formato padrão.

Zoom: Zoom adentro e para fora do editor de tela.

Opções: Alterar a linguagem e fonte usada no ambiente de desenvolvimento.

Janela: Organizar as janelas no ambiente de desenvolvimento.

5.5.3. Aba Inserir

A Aba Inserir do Menu Ribbon é usada para inserir novas tags, telas, planilhas, e
outros componentes em seu projeto.

Figura 8: Aba Inserir

As ferramentas estão organizadas nos seguintes grupos:

Global: Inserir tags, Classes, traduções, e procedimentos para a Aba Global


do Explorador de Projeto.

Gráficos: Inserir telas e grupo de telas para a Aba Gráficos do Explorador de


Projeto.

Planilhas de Tarefas: Inserir planilhas de tarefas para a Aba Tarefas do


Explorador de Projeto.

Comunicação: Inserir configurações de servidor e planilhas de comunicação


para a Aba Comunicação do Explorador de Projeto.

5.5.4. Aba Projeto

A Aba Projeto do Menu Ribbon é usada para configurar as definições de seu projeto.

Figura 9: Aba Projeto

Página | 118
As ferramentas estão organizadas nos seguintes grupos:

Configurações: Configurar as Configurações do Projeto, e também definir o


projeto para executar como um serviço do Windows.

Sistema de Segurança: Habilitar e configurar o sistema de segurança do


projeto.

Web: Configurar o projeto para aceitar conexões de Thin Clients e dispositivos


móveis, e também configurar a saída de email e FTP.

5.5.5. Aba Gráficos

A Aba Gráficos do Menu Ribbon é usada para desenhar telas do projeto. Esta aba
está disponível somente quando você tem uma tela de projeto aberto para edição.

Figura 10: Aba Gráficos

As ferramentas estão organizadas nos seguintes grupos:

Tela: Definir as configurações para a tela do projeto em si, como seus


atributos, script, e cor de fundo ou imagem.

Edição: Selecionar e editar objetos na tela do projeto.

Formas: Desenhar linhas estáticas e formas.

Objetos Ativos: Desenhar objetos ativos, como botões e caixas de seleção.

Objetos de Dados: Desenhar objetos que exibem dados históricos, como


alarmes, eventos, e tendências.

Bibliotecas: Selecionar a partir de uma biblioteca de objetos pré-fabricados,


como símbolos, .NET e controles ActiveX, e arquivos externo de imagem.

Animações: Aplicar animações para outros objetos de tela.

5.5.6. Aba Formato

A Aba Formato do Menu Ribbon é usado para formatar e organizar os objetos em uma
tela de projeto. Esta aba está disponível apenas quando você tiver selecionado um ou
mais objetos em uma tela de projeto.

Página | 119
Figura 11: Aba Formato

As ferramentas estão organizadas nos seguintes grupos:

Organizar: Organizar objetos em uma tela de projeto, incluindo trazer para o


topo e enviar para o fundo, agrupar, alinhar, e rotacionar.

Posição: Ajustar precisamente a posição de um objeto de tela em uma tela de


projeto.

Tamanho: Precisamente ajustar o tamanho de um objeto de tela.

Estilo: Alterar o preenchimento e cor da linha de um objeto de tela.

Fontes: Alterar a fonte da legenda de um objeto de tela.

5.5.7. Aba Ajuda

A Aba Ajuda do Menu Ribbon fornece ajuda adicional para o uso do software.

Figura 12: Aba Ajuda

As ferramentas estão organizadas nos seguintes grupos:

Documentação: Acesso a documentação para o desenvolvimento de


aplicações, incluindo este arquivo ajuda/referência técnica e notas para os
drivers de comunicação individuais.

Informação: Acessar outras informações sobre InduSoft Web Studio, incluindo


contrato de licença, website do produto, e notas de lançamento, assim como
detalhes de sistema e suporte que tornam mais fácil para o Suporte ao Cliente
ajudá-lo.

5.6. EXPLORADOR DE PROJETO

O Explorador de Projeto organiza todas as telas, planilhas e outros componentes que


compõem o seu projeto e apresenta-os em uma exibição em árvore de visualização
expansível. Página | 120
Clique no ícone de expandir ou duplo-clique na pasta para ver os arquivos da pasta.
Clique no ícone de fechar para fechar a pasta.

Se você clicar com o botão direito em qualquer componente do Explorador de Projeto,


um menu de atalho é exibido com opções para esse componente.

5.6.1. Aba Global

A Aba Global do Explorador de Projeto contém o banco de dados de tags do projeto,


bem como outras características que se aplicam a todo o projeto como segurança, e a
tradução da interface do usuário.

Figura 13: Aba Global

As pastas na Aba Global são descritos nas páginas seguintes:

Tags do Projeto contém as tags que você cria durante o desenvolvimento do


projeto (como tags de tela ou tags que lêem do/escrevem para o equipamento
de campo).

Classes contém tags compostas, chamadas tags Classes, criadas para


associar um grupo de valores (maior do que um único valor) com um objeto.

Banco de Dados Compartilhado contém tags que foram criadas em um


programa de controle baseado em PC e então importada para o banco de dados
de tag do projeto. Por exemplo, você pode importar tags SteepleChase para o
projeto então pode ler/escrever dados de um produto de controle baseado em
SteepleChase.

Tags de Sistema contém tags predefinidas com funções predeterminadas que


são usadas pelo projeto para tarefas específicas do supervisório (por exemplo,
tag Date tem a data atual em formato string). Todas as tags do sistema são de
apenas leitura, o que significa que você não pode adicionar, editar ou remover
essas tags do banco de dados.

Segurança contém todas as contas de usuário de segurança individuais e


grupo, configuradas para o projeto atual.
Página | 121
Procedimentos contém funções e sub-rotinas em VBScript que podem ser
chamadas por qualquer outro script no projeto.

Log de Eventos contém registro e recuperação de recursos de eventos.

Tradução contém a planilha de tradução que define como a interface de


usuário do projeto deve ser traduzida para outra linguagem.

5.6.2. Aba Gráficos

A Aba Gráficos do Explorador de Projeto contém todas as telas, grupo de telas, e


símbolos no seu projeto.

Figura 14: Aba Gráficos

As pastas na Aba Gráficos são descritas nas seguintes páginas:

Telas contém todas as telas criadas para o seu projeto atual.

Grupo de Telas contém todos grupos de telas (telas individuais combinadas


em grupos gerenciáveis) criadas para o projeto atual.

Thin Clients contém todas páginas da Web (i.e., telas salvas em formato
HTML) criadas para o projeto.

Acesso Móvel permite configuração de um mini-site que é próprio para


celulares, PDAs, e outros dispositivos móveis.

Símbolos de Projeto contém todos os símbolos definidos pelo usuário, que


podem ser grupos de imagens e/ou texto. Você pode criar símbolos
customizados para o projeto e salvá-los nesta pasta.

Script Global de Telas contém funções predefinidas que são executadas


quando certas ações ocorrem na tela, como quando o Thin Client é lançado em
uma estação remota.

Símbolos contém a biblioteca de símbolos e gráficos comuns providos com o


projeto. Duplo-clique no ícone Biblioteca para abrir a Biblioteca de Símbolos.

Página | 122
Disposição mostra todas as telas atualmente abertas no Editor de Telas e
permite visualizar como as telas se juntam durante a execução do projeto.

5.6.3. Aba Tarefas

A Aba Tarefas do Explorador de Projeto organiza as planilhas que são processadas


como tarefas em segundo plano durante a execução do projeto.

Figura 15: Aba Tarefas

As pastas na Aba Tarefas são descritas nas seguintes páginas:

Alarmes contém as planilhas de Alarme usadas para configurar grupos de


alarme e as tags relacionadas para cada grupo de alarme no projeto. Você
também usa as Tarefas de Alarme para definir as mensagens de alarme geradas
durante a execução do projeto.

Gráfico de Tendência contém as planilhas de Tendência usadas para


configurar grupos de histórico que armazenam curvas de tendência para o
projeto. Você pode usar as Tarefas de Tendência para declarar quais tags
precisam ter seus valores armazenados no disco, e para criar arquivos de
histórico para gráficos de tendência. Seu projeto armazena as amostras em um
arquivo de histórico binário (*.hst), e mostra histórico e amostras online em uma
tela com gráfico de tendência.

Receitas contém as planilhas de Receitas usadas para configurar como os


dados são trocados entre o banco de dados do projeto e arquivos do disco em
formato ASCII ou DBF, e como valores são transferidos entre arquivos e
memória real-time.

Relatórios contém as planilhas de Relatório usadas para configurar relatórios


(tipo texto) que são enviadas para uma impressora ou um disco. Tarefas de
Relatório permitem que você configure relatórios de texto com os dados do
sistema, o que torna a criação de relatórios mais fácil e eficiente.

Página | 123
ODBC contém as planilhas ODBC usadas para configurar como a interface
ODBC executa em um ambiente de rede e usa a configuração padrão do
Windows ODBC. Você configura funções ODBC para trocar dados entre seu
projeto e de qualquer banco de dados de suporte a interface ODBC.

Matemática contém as planilhas de Matemática usadas para configurar e


implementar rotinas adicionais para trabalhar com diferentes tarefas. Seu projeto
executa as planilhas de Matemática como tarefas de segundo plano durante a
execução. Você pode configurar as planilhas de Matemática para fornecer
ambientes livres para rotinas de lógicas e cálculos matemáticos necessários
para o projeto.

Script contém o Script de Inicialização e outros Grupos de Script.

Scheduler contém as planilhas Scheduler utilizadas para configurar eventos


usando expressões matemáticas definidas, que são executadas de acordo com
data, hora, ou outros eventos monitorados.

Banco de Dados/ERP contém as planilhas de Banco de Dados que comunica


com Banco de Dados externo usando a interface padrão ADO.NET (como uma
alternativa do ODBC).

5.6.4. Guia Comunicação

A Aba Comunicação do Explorador de Projeto organiza a planilha que estabelece


comunicação com outro dispositivo ou software usando protocolos disponíveis.

Figura 16: Aba Comunicações

As pastas na Aba Comunicação são descritas nas seguintes páginas.

Drivers contém as planilhas de Driver usadas para configurar uma interface (ou
interfaces) de comunicação entre o projeto e o equipamento remoto (tais como
CLP ou transmissores). Um driver de comunicação é um arquivo .DLL que
contém informações específicas sobre o equipamento remoto e implementa o
protocolo de comunicação.

Página | 124
OPC contém as planilhas OPC usadas para configurar a interface OPC entre o
seu projeto e um Servidor OPC. Um módulo de Cliente OPC permite o seu
projeto comunicar com qualquer equipamento que atua como um Servidor OPC
implementando o padrão OPC descrito no documento OLE for Process Control
Data Access Standard Version 2.0 publicado pela fundação OPC.

OPC UA contém as planilhas OPC UA que são usados para se conectar com
servidores de OPC, através do novo protocolo OPC Unified Architecture.

OPC Xi contém as planilhas OPC Xi que são usados para se conectar a


servidores OPC através do novo protocolo OPC Express interface.

TCP/IP contém as planilhas TCP/IP usadas para configurar a interface Cliente


TCP/IP para outras estações IWS. Cliente TCP/IP e módulos Servidores do IWS
permitem dois ou mais projetos para manter seus bancos de dados
sincronizados usando o protocolo TCP/IP.

DDE contém as planilhas DDE usadas para configurar um Cliente DDE para uma
aplicação Servidora DDE (tais como Microsoft Excel ou qualquer outro programa
do Windows que suporte essa interface). DDE (Dynamic Data Exchange) é um
protocolo que permite a troca dinâmica de dados entre aplicações Windows.
Uma conversa DDE é uma interação entre os programas cliente e servidor. IWS
fornece interfaces que executam como Clientes ou como Servidores.

5.6.5. Editor de Tela/Planilha

Use o poderoso editor de tela orientada a objetos para criar e editar uma variedade de
telas e planilhas para seus projetos.

Figura17: Editor de Tela/Planilha

Página | 125
Você pode inserir informações usando o mouse e teclado, dados de controle de saída
para os seus processos, e atualizar automaticamente as telas com base na entrada de
dados de seus processos.

Outros recursos do editor de tela incluem:

Simples ponto-e-clique, interface arrastar-e-soltar.

Agrupamento de objetos para preservar as etapas de construção de objetos


individuais.

Edição de objetos sem ter de desagrupar componentes internos de objetos ou


grupos.

Manipulação de objetos bitmap e bitmaps de fundo.

Estado da linha de suporte nas janelas de projeto e diálogos.

5.7. DATABASE SPY

O Database Spy é uma ferramenta de Depuração que permite: monitorar e forçar os


valores das tags do projeto; executar e testar funções, matemáticas e expressões.

Figura 18: Database Spy

O Database Spy possui os seguintes elementos:

Tag/Expressão especifica uma tag de projeto, tag de sistema ou expressão


para ser monitorada.

Valor exibe o valor retornado pelo campo Tag/Expressão.

Qualidade mostra a qualidade (BOM ou RUIM) referente a condição do valor


de retorno da tag configurada no campo Tag/Expressão.

Contínuo especifica se o IWS vai atualizar continuamente o valor da tag


configurada no campo Tag/Expressão.

Página | 126
5.8. JANELA DE SAÍDA

A Janela de Saída pode ser configurada para exibir mensagens de depuração geradas
durante a execução do projeto.

Figura 18: Janela de Saída

Ao clicar com o direito e selecionar a opção Configurações, será exibida uma janela
de Configuração de Logs. Os campos da Janela de Configuração de Logs estão
descritos na tabela a seguir:

Opção Descrição
Comando de Mostra qualquer comando de Leitura e/ou escrita
Leitura/Escrita que são enviadas ao dispositivo conectado.
Analizador de Mostra mensagens geradas pelo driver configurado.
Protocolo
Mensagens OPC Mostra mensagens geradas pela comunicação via
OPC.
Mensagens TCP/IP Mostra mensagens geradas pela comunicação via
TCP/IP.
Receita/Relatório Mostra mensagens geradas pelas tarefas de Receita
e Relatório.
Mostrar Abrir/Fechar Mostra detalhadamente informações sempre que
uma tela é aberta ou fechada.
Logon/Logout Mostra mensagens sempre que um usuário faz o
logon e/ou logout.
Rastrear Mensagem Mostra mensagens geradas pela função Trace().
Essa função é usada para gerar mensagens
customizadas configuradas em seu projeto.
Mensagens do Banco Mostra mensagens geradas pelas interfaces de
de Dados Banco de Dados ODBC e ADO.NET.
Mensagens DDE Mostra mensagens geradas pela comunicação via
DDE.
Inserir Data/Hora Insere a Data e Hora em cada mensagem.

Tabela 2: Janela de Configuração de Logs

Página | 127
TAGS

Tags são um núcleo central de qualquer projeto do IWS. Tags são variáveis usadas pelo
IWS para receber e armazenar os dados obtidos a partir da comunicação com
dispositivos no chão de fábrica, a partir dos resultados dos cálculos e funções, e de
entrada do usuário. Por sua vez, as tags podem ser utilizadas para mostrar informações
nas telas (e páginas Web), para manipular objetos da tela, e para controlar tarefas em
execução.

Mas as tags são mais do que simples variáveis. O IWS inclui um gerenciador de banco
de dados em tempo real que fornece um número de funções sofisticadas, como a
impressão da hora de qualquer alteração de valor, verificando valores de tag contra os
valores mínimo e máximo de tempo de execução, comparando os valores de tags para
limites de alarmes, e assim por diante. Uma tag do IWS tem valor e várias propriedades
que podem ser acessados, alguns em desenvolvimento, enquanto outros só na
execução.

Todas as tags são organizadas em uma das seguintes categorias, que são
representados por pastas na Aba Global do Explorador de Projeto:

Figura 19: Aba Global

Tags do Projeto são tags que você cria durante o desenvolvimento do projeto.
Locais onde as tags do projeto são usados incluem:

Tags de Tela

Tags que lê/escreve para o campo do equipamento

Tags de Controle

Tags Auxiliares usadas para executar cálculos matemáticosSobre Tags e o


Banco de Dados do Projeto

Tags de Banco de dados compartilhado são criados em um programa de controle


baseado em PC e então importado para o banco de dados de tags do IWS.

Página | 128
Por exemplo, você pode criar tags em SteepleChase e importá-los para o IWS então
IWS pode ler/escrever dados de um programa SteepleChase de controle baseado em
PC.

Você não pode modificar tags compartilhadas com IWS - você deve modificar as tags
no programa original de controle baseado em PC, e então re-importá-los para o banco
de dados de Tags.

Tags de Sistema são tags predefinidas com funções predeterminadas que são
usadas para tarefas do supervisório IWS. Por exemplo,

Tags Date tem a data atual em formato string

Tags Time tem a hora atual em formato string

A maioria das tags do sistema é somente leitura, o que significa que você não
pode adicionar, editar ou remover essas tags do banco de dados.

Para ver a lista de tags do sistema, selecione a Aba Global no Explorador de


Projeto, abra a pasta Tags de Sistema, e abra a subpasta Lista de Tags. A
figura acima mostra uma lista parcial das tags do sistema.

Depois de criar uma tag, você pode usá-lo em qualquer lugar dentro do projeto, e usar
a mesma tag para mais de um objeto ou atributo.

6.1. SINTAXE DE NOME DA TAG

Observe as seguintes orientações ao nomear uma tag:

Os nomes das Tags devem ser únicos - você não pode especificar o mesmo
nome para duas tags diferentes (ou funções). Se você digitar um nome de tag já
existente, o IWS reconhece que o nome existe e não vai criar essa nova tag.

Você deve iniciar cada nome da tag com uma letra. Entretanto, você pode usar
letras, números e o caractere de sublinhado (_) no nome da tag.

Você não pode usar os seguintes símbolos em um nome de tag:

` ~ ! @ # $ % ^ & * ( ) - = / + \ [ ] { } < > ?

Você pode utilizar um máximo de 255 caracteres para um nome de tag ou um


nome de membro Classe. Você pode usar caracteres maiúsculos e minúsculos.
Os nomes das Tags não diferenciam maiúsculas e minúsculas. Pelo fato do IWS
não diferenciar maiúsculas e minúsculas, você pode usar ambos para fazer
nomes de tags mais legíveis. (Por exemplo: NivelTanque em vez de
niveltanque.)

Os nomes das Tags devem ser diferentes de nomes de tags do sistema e


funções matemáticas.

Você pode usar o caracter @ no início de um nome de tag para indicar que a tag será
utilizada como uma tag indireta no projeto.

Página | 129
Alguns exemplos de tags válidas incluem:

Temperatura

Pressao1

contador

6.2. TIPO DE DADO DA TAG

Outra consideração na concepção de uma tag é o tipo de dado que a tag irá receber.
IWS reconhece o seguinte, padrão de tipos de dados da tag:

Booleana (um bit): Booleana simples com os valores possíveis de 0 (falso) e


1 (verdadeiro). Equivalente ao tipo de dado "bool" no C++. Normalmente usado
para ligar e desligar objetos ou para abrir e fechar objetos.

Inteira (quatro bytes): Número Inteiro (positivo, negativo, ou zero)


armazenados internamente como um 32-bit sinalizado. Equivalente ao tipo de
dado "signed long int" no C++. Normalmente utilizado para a contagem de
números inteiros ou ajustando valores de números inteiros. Exemplos: 0, 5,
#200.

Real (ponto flutuante, oito bites): Número Real que é armazenado


internamente como um 64-bit sinalizado. Equivalente ao tipo de dado "double"
no C++. Normalmente utilizado para medições ou para valores decimais ou
fracionários.

String (dado alfanumérico, até 1024 caracteres): Caracter string até 1024
caracteres que contém letras, números ou caracteres especiais. Suporta
caracteres ASCII e UNICODE. Exemplos: Produto X123, 01/01/90, *** On ***.

Você também pode fazer uma tag dentro de uma tag composta assinalando-a como
uma Tag Classe.

6.3. TAG VETOR

Uma Tag Vetor consiste em um conjunto de Tags com o mesmo nome, mas com
índice de Vetor único (uma matriz de n linhas e uma coluna) para diferenciar cada Tag.

Observe as seguintes orientações ao criar um Vetor:

O tamanho máximo de vetor é 16.384.

Você precisa definir o tamanho máximo de cada vetor.

Página | 130
Cada posição de vetor (incluindo a posição 0) conta como uma tag para as restrições de licenciamento, pois
cada posição tem um valor independente.

Para acessar o vetor de uma tag, seguir a sintax:

NomeDaTag[NdoVetor], ou NomeDaTag[NdoVetor+c]

Por exemplo: Tanque[0], Tanque[1], Tanque[2], Tanque[500]

Use a tag vetor, sempre que possível, pois otimiza o uso da memória e simplifica a tarefa de configuração.
Por exemplo, se você quer um display para monitorar cada tanque, você pode usar tags vetor para configurar
um único display, contendo tags vinculadas à qualquer tanque. Por exemplo (usando a tag nt como um
índice contendo
número do tanque): pressao[nt], temperatura[nt], e temperatura[nt+1].

Você deve especificar um índice máximo para cada tag vetor na coluna tamanho de qualquer folha de
dados. Você pode especificar n para indicar tag vetor tem posições de 0 até n. Por exemplo, se o tamanho
da TagA é 3, os elementos de tag podem ser TagA[0], TagA[1], TagA[2], e TagA[3].

Um índice de vetor pode ser uma tag, um valor numérico, ou uma expressão com uma operação aritmética
"+". Quando você se refere a um vetor com um índice usando a operação aritmética +, você deve usar a
seguinte sintaxe:

NomeTagVetor[Valor1+Valor2]

Onde Valor1 e Valor2 podem ser uma tag inteira ou uma constante numérica. Por exemplo:
temperatura[nt+2] ou temperatura[nt+6].

6.4. TAG CLASSE

Classes permitem alto grau de encapsulamento. Uma Classe é um modelo composto por duas ou mais
definições de tag, cada uma com seu próprio tipo de dados. Você pode usar Classes nos projetos que tem
itens (ex. Liquido dos Tanques) com múltiplos atributos (ex. Nível, temperatura, pressão) para ser
monitorado ou controlado.

Observe as seguintes orientações ao criar uma Classe:

Os nomes das Classes devem ser únicos - você não pode especificar o mesmo nome para duas
classes diferentes (ou funções). Se você digitar um nome de classe já existente, o IWS reconhece
que o nome existe e não vai criar essa nova classe.

Você precisa definir os membros e os seus tipos.

O máximo de membros para uma Classe é de 4096.

O membro de uma Classe não pode pertencer à outra Classe. Porém, você pode criar membros
com o mesmo nome em diferentes Classes.

Página | 131
Quando uma nova Tag Classe é criada, cada membro da classe conta como uma tag usada, porque cada
membro pode obter um valor. (Por exemplo, se você criar uma classe com 5 membros, e em seguida criar
cinco tags com essa classe, então você tem um total de 25 tags utilizadas).

Para acessar o membro de uma Classe, seguir a sintax:

"NomeDaTag.NomeDoMembro", ou "NomeDaTag[NdoVetor].NomeDoMembro"

Por exemplo: Motor.RPM, Tanque[5].Nivel.

Use a tag classe, sempre que possível, pois otimiza o uso da memória e simplifica a tarefa de configuração.
Por exemplo, se você quer um display para monitorar os atributos de um tanque, você pode usar tags classe,
contendo membros vinculadas à tag do tanque. Por exemplo (usando a tag tanque com os membros de uma
classe do tanque): tanque.nivel, tanque.temperatura, tanque[4].vazao.

6.5. TAGS INDIRETAS

O IWS suporta acesso indireto para tags no banco de dados. Por exemplo, considere uma tag X do tipo
String. Esta tag pode conter o nome de qualquer outra tag no banco de dados (isto é, ela pode fornecer um
ponteiro para qualquer outro tipo de tag, incluindo um tipo de classe). A sintaxe para uma tag indireta é
simples: @NomeTagIndireta. Por exemplo, suponha que uma tag chamada X contém uma string "TEMP".
Lendo e/ou escrevendo para @X dá acesso ao valor da variável TEMP.

Qualquer tag criada como uma tag do tipo string é potencialmente uma tag indireta (ponteiro). Para referir a
uma tag tipo-classe, você pode declarar uma tag tipo-string que aponta para um tag classe.

Para configurar uma tag em uma Tag Indireta, seguir a sintax:

“TagIndireta = TagProjeto”

Para acessar o valor de uma Tag Indireta, seguir a sintax:

“@TagIndireta”

Por exemplo: TagIndireta = Tanque, @TagIndireta.

Página | 132
REFERÊNCIAS

Apostila de Treinamento Básico Indusoft. Disponível em: www.indusoft.com.br


Apostila de Treinamento SIEMENS TIA PORTAL.
Automação Industrial. Disponível em: https://www.automacaoindustrial.info
REDES INDUSTRIAIS PARA AUTOMAÇAO INDUSTRIAL - AS-I, PROFIBUS E PROFINET.
BARATELLA. Editora SARAIVA.

Página | 133

Você também pode gostar