Академический Документы
Профессиональный Документы
Культура Документы
Meas_point[10]: Real
Motor: STRUCT
" Melhor" estruturação
Set_speed: REAL
de Dado:
Actual_speed: REAL
Adaptado para a tarefa Enable: BOOL
com "correto" tipo de dado Disturbance: BOOL
END_STRUCT
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
Byte 1
.. Byte 1.2.2
Byte n1) .
Byte n+1 Byte 2 Byte 1.3.1
Ano Mês
Byte n1) Byte n+1
(90 ... 89) (01 ... 12)
Byte n+2
Dia Hora
(01 ... 31) (00 ... 23) Byte n+3
Minuto Segundo
Byte n+4 Byte n+5
(00 ... 59) (00 ... 59) 1=Domingo
2=Segunda-feira
Dia da 3=Terça-feira
Byte n+6
Milisegundos semana 4=Quarta-feira
(000 ... 999) Byte n+7
5=Quinta-feira
(1..7) 6=Sexta-feira
7=Sábado
Exemplo:
Declaration with initialization
Nome dado: STRING[8]: 'OTTO'
Variável STRING armazenada "Nome dado"
epecifica o número máx. De caracteres salvos, ou seja,
Byte n1) máx. comprimento= 8 a dimensão especificada na declaração
Byte n+1 comprim. corrente= 4 especifica o caracter corrente salvo na variável STRING
1) n = par
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;
.. ..
. .
1) n = par
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
UDT 111
UDT 112