Redes Industriais
STEP7
Famlia S7-300
Famlia S7-300
Famlia S7-300
Mode Selector
MRES - Memory reset function (Module Reset)
STOP - Stop mode, the program is not executed.
RUN - Program execution, read-only access possible from PG.
RUN-P - Program execution, read/write access possible from PG.
Famlia S7-300
Status Indicators (LEDs)
SF - Group error; internal CPU fault or fault in module with diagnostics capability.
BATF - Battery fault; battery empty or non-existent.
DC5V - Internal 5 VDC voltage indicator.
FRCE - FORCE; indicates that at least one input or output is forced.
RUN - Flashes when the CPU is starting up, then a steady light in Run mode.
STOP - Shows a steady light in Stop mode.
Flashes slowly for a memory reset request,
Flashes quickly when a memory reset is being carried out,
Flashes slowly when a memory reset is necessary because a memory card has been inserted.
Software
Endereamento I/O
Cada mdulo de entradas/sadas ocupa 4 bytes se for digital e 16 bytes se for analgico.
As cartas de 16 ou 32 entradas ocupam sempre a mesma quantidade de memria.
Endereamento I/O
Endereamento do CPU 314.
Memria
Memria de Programa: permite armazenar o programa do utilizador. No existe armazenamento simblico. Este reside no ficheiro do programa, do lado do PC. A memria pode ser RAM ou Flash-EPROM.
Memria de Trabalho: contm as zonas de dados relevantes para a execuo do programa.
Memria de Sistema: contm os elementos de memria que cada CPU disponibiliza. Imagem das I/O, Bits internos, temporizadores e contadores. Contm ainda os blocos e as interrupes. Oferece ainda uma zona de dados locais para cada bloco ou funo.
Memria
Zona de enereamento local (L) Em cada OB ou FB possvel definir um conjunto de endereos
de memria, cujo estado s vlido na execuo do bloco a que pertence.
Memria
Zonas de Trabalho Zona I (ou E) e Q (ou A)
De I0.0 a I 65535.7
De Q0.0 a Q65535.7
Acedvel por bit, byte, palavra e dupla palavra
Zona externa (leitura directa sobre as entradas / escrita sobre sadas) De PIB0 a PIB65535
Acedvel por byte, palavra e dupla palavra
Zona M De M0.0 a M255.7
Acedvel por bit, byte, palavra e dupla palavra
Zona T (temporizadores) De T0 a T255
Zona C (contadores) De C0 a C255
Mdulos de Dados (DB) De DBX 0.0 a DBX65535.7
De DBB0 a DBD65535
De DBW0 a dbw65534
De DBD0 a DBD65532
reas de armazenamento
reas de armazenamento
Os dados so armazenados em variveis do programa, os quais so unicamente identificados pela:
Localizao de armazenamento (PII, PIQ, bit de memria, pilha L, DB)
Tipo de dado (tipos de dados elementares ou complexos, tipo de parmetro)
Dependendo da acessibilidade, existe diferena entre:
Variveis globais, as quais so declaradas na tabela de smbolos globais ou em blocos de dados globais.
Variveis locais, as quais so declaradas na parte de declarao dos OBs, FBs e FCs.
As variveis podem ter uma localizao permanente na imagem de processo, rea de memria bit ou em num bloco de dados ou podem ser criadas dinamicamente na pilha L quando um bloco est a ser executado.
Blocos de Dados
Blocos de Dados
Blocos de dados Os mdulos de dados globais podem ser usados a partir de
qualquer mdulo global (OB, FB e FC)
Blocos de dados de instncia Os dados destes mdulos podem ser acedidos a partir do
mdulo de funo a que est atribudo.
Tipos de Dados
Tipo Bits Formatos Domnio 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) a B#(255,255) B#(14,245)
INT 16 Decimal com sinal -32768 at 32767 345
DWORD 32 binario 2#0 a
2#1111111111111111111111111111
111 1
2#11011
hexadecimal DW#16#0 a DW#16#FFFF_FFFF L DW#16#3FT
Decimal sem sinal B#(0,0,0,0) a B#(255,255,255,255) L B#(0,1,2,3)
DINT 32 Decimal com sinal L# -2147483648 at L# 2147483647 L L#400000
REAL 32 Vrgula flutuante 1.175 495e-38 a 3.402823e+38 L 23.5678
S5TIME 16 Tempo S7 S5T#0H_0M_0S_10MS at
S5T#2H_46M_30S_0MS
L s5t#2s
TIME 32 Tempo IEC -T#24D_20H_31M_23S_648MS at
T#24D_20H_31M_23S_647MS
L T#2H
DATE 16 Data IEC D#1990-1-1 at D#2168-12-31 L D#1994-3-15
TIME_OF_DAY 32 Hora do da TOD#0:0:0.0 at TOD#23:59:59.999 L TOD#1:10:3.3
CHAR 8 carcter 'A','B' etc. L 'E'
Tipos de Dados
Dados complexos
Tipo Bits Significado Domnio
DATE_AND_TIME 64 Unio de uma varivel DATE com uma varivel TIME_OF_DAY
DT#1990-1-1-0:0:0.0 a DT#2089-12-31-23:59:59.999
STRING Cadeia de caracteres STRING[1] a STRING[254]
ARRAY ARRAY [1..20,1..10] of INT
- 6 dimenses
- Indce mximo por dimenso: 32767
Tipos de Dados Simples
Tipos de Dados Complexos
Tipos de Dados Complexos - Estrutura
Tipos de Dados Complexos - Array
Tipos de Dados Complexos - UDT
Variveis Globais/Locais
Variveis Globais/Locais
Variveis Locais
Variveis Temporrias - variveis que so armazenadas apenas enquanto o bloco est a ser executado. Podem ser utilizadas em todos os blocos (OB, FC, FB).
Variveis Estticas - dados que so retidos mesmo aps o bloco deixar de ser executado. As variveis estticas somente podem ser utilizadas em blocos de funes.
Endereamento
Endereamento - Exemplos
DB14.DBX4.1
DB7.DBB2
DB12.DBW4
M1.0
MD0
I2.5
L0.0
LB3
Mdulos de Programao - OB
Mdulos de Organizaco (Organization Block) Constituem o interface do CPU e do programa
O SO chama estes mdulos de cdigo para que executem diferentes operaes, consoante a sua funo.
OB1 o mdulo que executado ciclicamente
O mdulo pode conter todo um programa, ou pode apenas conter chamadas a outros mdulos apenas quando isso explicitamente solicitado
Para alm do OB1, o sistema pode chamar outros OBs em resposta a certos eventos
Os OBs s pode ser chamados pelo SO, no por outros Obs
O STEP7 oferece 26 tipos de prioridade e cada OB processado de acordo com a sua prioridade
Mdulos de Programao - OB
O OB1 tem a prioridade mais baixa (classe 1) de todos. Isto significa que pode ser interrompido por qualquer outro OB.
Obs mais importantes: OB1 Programa principal. Execuo em ciclos contnuos
OB10 (at OB17) Interrupo horria. Inicia-se num momento programado e pode ter diferentes intervalos.
Uma s vez
Cada minuto
Cada hora
Cada dia
Cada semana
Cada ms
Cada ano
SFC 30 permite ajustar a frequncia de chamada
OB20 (at OB23) Interrupo de Atraso. Ocorre depois de um tempo programado face a um determinado evento.
Utiliza-se a SFC32 para desencadear o processo
Nos CPU 300 s existe o OB20
Mdulos de Programao - OB
Obs mais importantes (continuao): OB35 Interrupo temporizada.
OB40 Interrupo de eventos. Ocorre a partir de alteraes de hardware
OB80 Erro assncrono.
OB 121 Erro sncrono.
OB100 Arranque completo. Implica passagem de STOP a RUN
OB101 Rearranque.
Mdulos de Programao - FC
Funes (FC) As funes so mdulos de cdigo que se executam ao serem chamadas
de um outro mdulo. Quando chamada, a funo comporta-se como uma subrotina do programa. Quando termina a execuo, o controlo devolvido ao mdulo que a chamou.
Existem funes com e sem parmetros.
Mdulos de Funo (FB Function Block) Um FB tem um mdulo adicional de memria. Um mdulo de dados
mantm uma cpia dos parmetros que vo passar para a rea local de dados. Depois da execuo do FB, a memria local apagada, mas a DB retm os valores.
Mdulos de Programao - FC
Mdulos de Funo (FB Function Block) Um FB tem um mdulo adicional de memria. Um mdulo de dados
mantm uma cpia dos parmetros que vo passar para a rea local de dados. Depois da execuo do FB, a memria local apagada, mas a DB retm os valores.