You are on page 1of 31

Redes Industriais

STEP7

Família S7-300

Família S7-300

– RUN-P .Memory reset function (Module Reset) – STOP . read/write access possible from PG.Program execution.Família S7-300  Mode Selector – MRES . the program is not executed. read-only access possible from PG. .Program execution.Stop mode. – RUN .

Battery fault.Flashes when the CPU is starting up. battery empty or non-existent. – RUN . – DC5V . – STOP . then a steady light in Run mode.Shows a steady light in Stop mode. . – BATF . – Flashes quickly when a memory reset is being carried out. – FRCE .Group error.  Flashes slowly for a memory reset request. internal CPU fault or fault in module with diagnostics capability.FORCE. indicates that at least one input or output is forced. – Flashes slowly when a memory reset is necessary because a memory card has been inserted.Família S7-300  Status Indicators (LEDs) – SF .Internal 5 VDC voltage indicator.

Software .

 As cartas de 16 ou 32 entradas ocupam sempre a mesma quantidade de memória.Endereçamento – I/O  Cada módulo de entradas/saídas ocupa 4 bytes se for digital e 16 bytes se for analógico. .

Endereçamento – I/O  Endereçamento do CPU 314. .

Imagem das I/O. . Bits internos.  Memória de Sistema: contém os elementos de memória que cada CPU disponibiliza.Memória  Memória de Programa: permite armazenar o programa do utilizador.  Memória de Trabalho: contém as zonas de dados relevantes para a execução do programa. Este reside no ficheiro do programa. Não existe armazenamento simbólico. temporizadores e contadores. A memória pode ser RAM ou Flash-EPROM. do lado do PC. Contém ainda os blocos e as interrupções. Oferece ainda uma zona de dados locais para cada bloco ou função.

. cujo estado só é válido na execução do bloco a que pertence.Memória  Zona de enereçamento local (L) – Em cada OB ou FB é possível definir um conjunto de endereços de memória.

7  Acedível por bit.0 a M255.0 a I 65535. byte.Memória  Zonas de Trabalho – Zona I (ou E) e Q (ou A)  De I0.0 a DBX65535.7  De DBB0 a DBD65535  De DBW0 a dbw65534  De DBD0 a DBD65532 .7  Acedível por bit. palavra e dupla palavra – Zona externa (leitura directa sobre as entradas / escrita sobre saídas)  De PIB0 a PIB65535  Acedível por byte. palavra e dupla palavra – Zona T (temporizadores)  De T0 a T255 – Zona C (contadores)  De C0 a C255 – Módulos de Dados (DB)  De DBX 0. byte.0 a Q65535. palavra e dupla palavra – Zona M  De M0.7  De Q0.

Áreas de armazenamento .

PIQ. bit de memória. pilha L.  As variáveis podem ter uma localização permanente na imagem de processo. área de memória bit ou em num bloco de dados ou podem ser criadas dinamicamente na pilha L quando um bloco está a ser executado.Áreas de armazenamento  Os dados são armazenados em variáveis do programa. existe diferença entre: – Variáveis globais. DB) – Tipo de dado (tipos de dados elementares ou complexos. FBs e FCs. os quais são unicamente identificados pela: – Localização de armazenamento (PII. as quais são declaradas na tabela de símbolos globais ou em blocos de dados globais. tipo de parâmetro)  Dependendo da acessibilidade. as quais são declaradas na parte de declaração dos OBs. . – Variáveis locais.

Blocos de Dados .

. FB e FC)  Blocos de dados de instância – Os dados destes módulos podem ser acedidos a partir do módulo de função a que está atribuído.Blocos de Dados  Blocos de dados – Os módulos de dados globais podem ser usados a partir de qualquer módulo global (OB.

255.175 495e-38 a 3. L 'E' .2.Tipos de Dados Tipo Bits Formatos Domínio Exemplo BOOL 1 texto TRUE/FALSE TRUE BYTE 8 hexadecimal B#16#0 a B#16#FF B#16#23 WORD 16 binario 2#0 a 2#1111111111111111 2#00101 hexadecimal W#16#0 a W#16#FFFF W#16#234F Bcd C#0 a C#999 C#997 Decimal sem sinal B#(0.0 até TOD#23:59:59.255.0.245) INT 16 Decimal com sinal -32768 até 32767 345 DWORD 32 binario 2#0 a 2#11011 2#1111111111111111111111111111 111 1 hexadecimal DW#16#0 a DW#16#FFFF_FFFF L DW#16#3FT Decimal sem sinal B#(0.0) a B#(255.255) L B#(0.999 L TOD#1:10:3.5678 S5TIME 16 Tempo S7 S5T#0H_0M_0S_10MS até L s5t#2s S5T#2H_46M_30S_0MS TIME 32 Tempo IEC -T#24D_20H_31M_23S_648MS até L T#2H T#24D_20H_31M_23S_647MS DATE 16 Data IEC D#1990-1-1 até D#2168-12-31 L D#1994-3-15 TIME_OF_DAY 32 Hora do día TOD#0:0:0.3) DINT 32 Decimal com sinal L# -2147483648 até L# 2147483647 L L#400000 REAL 32 Vírgula flutuante 1.'B' etc.402823e+38 L 23.255) B#(14.0.3 CHAR 8 carácter 'A'.1.0) a B#(255.

Indíce máximo por dimensão: 32767 .999 STRING Cadeia de caracteres STRING[1] a STRING[254] ARRAY ARRAY [1.1.0 a variável TIME_OF_DAY DT#2089-12-31- 23:59:59..20.Tipos de Dados  Dados complexos Tipo Bits Significado Domínio DATE_AND_TIME 64 União de uma variável DATE com uma DT#1990-1-1-0:0:0..10] of INT .6 dimensões .

Tipos de Dados Simples .

Tipos de Dados Complexos .

Tipos de Dados Complexos .Estrutura .

Array .Tipos de Dados Complexos .

UDT .Tipos de Dados Complexos .

Variáveis Globais/Locais .

.Variáveis Globais/Locais  Variáveis Locais – Variáveis Temporárias . FB).variáveis que são armazenadas apenas enquanto o bloco está a ser executado. Podem ser utilizadas em todos os blocos (OB. – Variáveis Estáticas . As variáveis estáticas somente podem ser utilizadas em blocos de funções. FC.dados que são retidos mesmo após o bloco deixar de ser executado.

Endereçamento .

0  MD0  I2.DBX4.Exemplos  DB14.DBW4  M1.Endereçamento .1  DB7.5  L0.0  LB3 .DBB2  DB12.

não por outros Obs  O STEP7 oferece 26 tipos de prioridade e cada OB é processado de acordo com a sua prioridade . ou pode apenas conter chamadas a outros módulos apenas quando isso é explicitamente solicitado  Para além do OB1. o sistema pode chamar outros OBs em resposta a certos eventos  Os OBs só pode ser chamados pelo SO.  OB1 – É o módulo que é executado ciclicamente – O módulo pode conter todo um programa.Módulos de Programação .OB  Módulos de Organizacão (Organization Block) – Constituem o interface do CPU e do programa – O SO chama estes módulos de código para que executem diferentes operações. consoante a sua função.

 Obs mais importantes: – OB1 Programa principal.Módulos de Programação . Ocorre depois de um tempo programado face a um determinado evento. Isto significa que pode ser interrompido por qualquer outro OB.  Utiliza-se a SFC32 para desencadear o processo  Nos CPU 300 só existe o OB20 . Execução em ciclos contínuos – OB10 (até OB17) Interrupção horária. Inicia-se num momento programado e pode ter diferentes intervalos.  Uma só vez  Cada minuto  Cada hora  Cada dia  Cada semana  Cada mês  Cada ano  SFC 30 permite ajustar a frequência de chamada – OB20 (até OB23) Interrupção de Atraso.OB  O OB1 tem a prioridade mais baixa (classe 1) de todos.

– OB100 Arranque completo.OB  Obs mais importantes (continuação): – OB35 Interrupção temporizada. – OB 121 Erro síncrono. – OB40 Interrupção de eventos. Implica passagem de STOP a RUN – OB101 Rearranque. . Ocorre a partir de alterações de hardware – OB80 Erro assíncrono.Módulos de Programação .

Depois da execução do FB.Módulos de Programação . .FC  Funções (FC) – As funções são módulos de código que se executam ao serem chamadas de um outro módulo. Quando termina a execução. mas a DB retém os valores. a memória local é apagada. – Existem funções com e sem parâmetros. o controlo é devolvido ao módulo que a chamou.  Módulos de Função (FB – Function Block) – Um FB tem um módulo adicional de memória. Quando é chamada. a função comporta-se como uma subrotina do programa. Um módulo de dados mantém uma cópia dos parâmetros que vão passar para a área local de dados.

Um módulo de dados mantém uma cópia dos parâmetros que vão passar para a área local de dados. . a memória local é apagada. Depois da execução do FB.FC  Módulos de Função (FB – Function Block) – Um FB tem um módulo adicional de memória.Módulos de Programação . mas a DB retém os valores.