Escolar Documentos
Profissional Documentos
Cultura Documentos
Definir Objetivo
Erros ?
Sim Não
Debug
Definir Objetivo
Erros ?
Sim Não
Debug
Sistema Operacional
DB DB
Ciclo
Tempo OB
FC FB SFC
Blocos de
Processo Organização
Erro FB FC SFB
Startup
OB 100
OB 101
OB 102
A I 1.0
I 1.0 I 1.1 M1.0 M8.0 I 1.0 &
M1.0 M8.0 A I 1.1
P FP M1.0
I 1.1 P = = M8.0
I 1.0
I 1.1
& -RLO
M8.0
Scan (OB1) Scan (OB1)
M8.1
Scan (OB1) Scan (OB1)
M8.0
Scan (OB1)
M8.1
Scan (OB1)
Tipos de dados • Dados do tipo bit (BOOL, BYTE, WORD, DWORD, CHAR)
elementares
• Dados do tipo matemáticos (INT, DINT, REAL)
(máx. 32 bits)
• Dados do tipo tempo (S5TIME, TIME, DATE, TIME_OF_DAY)
• Tempo (DATE_AND_TIME)
Tipos de dados
complexos • Matriz (ARRAY)
(maiores que 32 bits)
• Estrutura (STRUCT)
• Cadeia de caracteres (STRING)
Comprimento
Palavra-chave (em bits) Constantes Variáveis
BOOL 1 1 ou 0 I 1.0
BYTE 8 B#16#A9 MB70
WORD 16 W#16#12AF MW72
DWORD 32 DW#16#ADAC1EF5 QD40
CHAR 8 'w' DBB4
Formatos:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Formatos:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
números
positivos
HEX: DW#16# 0 0 0 8 4 0 8 9
(sem sinal)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
números
negativos
Operações
aritméticas (exemplos): + R, * R, <R, ==R
sin, acos, ln, exp, SQR
Exemplo: 0,75
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 ... 2-23
L MB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0
31 23 15 7 0
Load 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0 MB1
L MW 0
31 23 15 7 0
T QD 4
QD 4
Transfer T QW 4
QW 4
T QB 4
QB 4
0 2 9 6
16 Bits: BIN.: 2# 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
Sinal (+) 2 9 6
Sinal (+) 0 0 0 0 2 9 6
32 Bits: BIN.: 2# 0 x x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
Inserir Conversão
o número 0 81 5 BCD->Inteiro
em BCD Programa com
Objetivo instruções
matemáticas
Exibir Conversão no formato Inteiro
o número 0 2 4 8 BCD<-Inteiro
em BCD
A I 0.4
C5 C5
CU C5
S_CUD S_CUD A I 0.5
I 0.4 Q 8.3
CU Q
Q I 0.4 CU CD C5
A I 0.3
I 0.5
L C#5
CD CV MW 4 I 0.5 CD
S C5
I 0.3 A I 0.7
S CV_BCD QW 12 I 0.3 S CV MW 4 R C5
L C5
C#5 PV C#5 PV CV_BCD QW 12 T MW4
Q 8.3 LC C5
I 0.7
R I 0.7 R Q
Q = T QW12
A C5
= Q8.3
Dimensão
Palavra chave Exemplo
(em bits)
DT#99-06-14-12:14:55.0
DATE_AND_TIME 64
(Data e Horário)
´Isto é uma string´
STRING 8 * (número de
´SIEMENS´
(Caracter “string“ com caracteres +2)
máx. 254 caracteres)
Meas_vals: ARRAY[1..20]
ARRAY definido pelo
INT
(Grupo de elementos usuário
do mesmo tipo de dado)
Motor: STRUCT
STRUCT definido pelo
Speed : INT
(Estrutura, Grupo de usuário
Current : REAL
elementos de diferentes
END_STRUCT
tipos de dados)
UDT como bloco UDT como elemento array
UDT definido pelo
(User Defined Data Type = usuário
STRUCT Drive: ARRAY[1..4]
"Template" constituído de
Speed : INT UDT1
tipos de dados elementares
Current : REAL
e/ou complexos)
END_STRUCT
STRUCT (Estrutura):
Grupo de componentes Motor: STRUCT
de diferentes tipos Set_Speed: REAL
de dados Actual_Speed: REAL
Declaração: Enable: BOOL
StructName: STRUCT Disturbance: BOOL
Comp1Name: data type; END_STRUCT
Comp2Name: data type;
...
END_STRUCT
Exemplo:
Declaração de uma variável: Acesso à variável
• MotorControl : STRUCT S #MotorControl.ON
ON : BOOL; L #MotorControl.ActualSpeed
OFF : BOOL; T #MotorControl.SetSpeed
SetSpeed : INT; ...
ActualSpeed : INT;
END_STRUCT;
Exemplo:
Definição de um novo tipo de dado (Estrutura):
UDT1 STRUCT
SetSpeed : REAL; ...
ActualSpeed : REAL; UDT1: STRUCT
Enable : BOOL; Set_Speed: REAL
Disturbance : BOOL; Actual_Speed: REAL
END_STRUCT;
Enable: BOOL
Declaração das variáveis:
Disturbance: BOOL
Motor_1: UDT1;
END_STRUCT
Motor_2: UDT1;
Acesso a variáveis:
L #Motor_1.ActualSpeed
FC23
Definir Objetivo
Erros ?
Sim Não
Debug
I I1
I2
Legenda:
C Condição
I1 C
I Bloco de Instrução
I2 I1
C I2
Alternativa Alternativa
(Exibição especial com (simples)
apenas um ramo)
Condição Condição
s n s n
I1 I1 I3
%
I2 I2 I4
Alternativa
(simples, formato
especial de exibição)
Legenda:
C Condição IF Condição
Alternativa
I Bloco de Instrução
(múltipla, também conhecida como then (se verdadeira)
escolha múltipla)
I1
Condição
I2
Condi- Condi- Condi- Condi-
ção 1 ção 2 ção 3 n else (se falsa)
ção 4
I1 I3 I5 I7 I3
I9
I2 I4 I6 I8 I4
L_Restart_aut Q 4.6
Pré-seleção de peso
"QW_DigDisp" (QW 6) "PIW_AI1" (PIW 304)
Posição Inicial
Botão de Partida
Programa da CPU
L_Restart_man Q 4.5
L_Restart_aut A 4.6
Jog DIREITA
Jog ESQUERDA
ESQUERDA AUTO
L_Restart_man Q 4.5
L_Restart_aut Q 4.6
Falha no
Transporte:
- Luz Pulsante
Posição Inicial
"LB" (I 8.0)
Quantidade Total
Propósito:
Arquivamento de componentes de programa reutilizáveis
Transferência direta para a CPU e teste não é possível
Configuração da Biblioteca :
A biblioteca pode conter diversas pastas de programa
A biblioteca não pode conter qualquer "Hardware"
Cada pasta de programa contem:
As pastas "Blocks", “fonte Files", "Symbols"
A pasta "Charts" (somente para a opção de software: S7-CFC)