Documente Academic
Documente Profesional
Documente Cultură
NOTA DE APLICAÇÃO 01
Princípios básicos da programação de PLC para
PC com o TwinCAT PLC
BRESIMAR (asaTek)
e-mail j.andril@bresimar.pt
B-NA01(v2.1)
Novembro/2018
Bresimar Automação, S.A.
Geral (Sede)
Índice
1. Introdução 2
2. Criar um projeto TwinCAT PLC
2.1. Abrir um novo projeto 3
2.2. Declaração das variáveis 5
2.3. Criar o mapa das entradas e saídas 7
2.4. Escrever o programa do PLC 8
2.5. Compilar o programa do PLC 9
3. Anexar as variáveis ao hardware I/O
3.1. Anexar o projeto do PLC ao configurador do sistema 12
3.2. Entradas digitais 14
3.3. Saídas digitais 16
3.4. Entradas analógicas 18
3.5. Saídas analógicas 20
4. Configurar o sistema TwinCAT e o PLC “virtual”
4.1. Carregar a configuração de hardware no sistema 22
4.2. Selecionar o PLC a utilizar 24
4.3. Carregar o programa do automatismo no PLC (“download”) 25
4.4. Correr o programa do automatismo 26
4.5. Criar programa de arranque (“boot project”) 28
4.6. Criar programa para “upload” (“sourcecode download”) 29
4.7. Configuração para criar o programa de “upload” 30
4.8. Descarregar (“upload”) o programa do PLC 32
4.9. Ficheiros na pasta “Boot” 34
5. Ativar o arranque automático do sistema TwinCAT PLC
5.1. Configurar o arranque automático do sistema 35
5.2. Configurar o arranque automático do automatismo no PLC 36
6. Gestão dos dados permanentes no TwinCAT PLC
6.1. Diferenças entre memorias RETAIN e PERSITENT 37
6.2. Criação das variáveis RETAIN e PERSISTENT 38
6.3. Mecanismo do funcionamento das memorias permanentes 40
6.4. Livraria com rotina de teste das variáveis permanentes 42
6.5. Desvantagens das variáveis permanentes por ficheiro 43
1 – Introdução
IL (“Instruction List”)
LD (“Ladder Diagram”)
FBD (“Function Block Diagram”)
SFC (“Sequential Function Chart”)
ST (“Structured Text”)
CFC (“Continuous Function Chart”)
DECLARAÇÃO DESCRIÇÃO
<NomeVariavel> Nome único da variável declarada no programa do PLC.
<TipoDado> Especifica o tipo de dado da variável declarada:
I = Variável de entrada (Input)
Q = Variável de saída (Output)
M = Variável de memoria (Flag)
<TamanhoDado> Especifica o tamanho da memoria da variável declarada:
X = 1 bit
B = 8 bit´s (“Byte”)
W = 16 bit´s (“Word”)
D = 32 bit´s (“Double Word”)
<EndereçoByte> Especifica o 1º endereço do Byte a ser utilizado pela variável
declarada.
<TipoDado> Especifica o tipo de dado da variável declarada.
BOOL = Booleano USINT = 8 bit´s sem sinal
BYTE = 8 bit´s sem sinal SINT = 8 bit´s com sinal
WORD = 16 bit´s sem sinal UINT = 16 bit´s sem sinal
DWORD = 32 bit´s sem sinal INT = 16 bit´s com sinal
UDINT = 32 bit´s sem sinal
DINT = 32 bit´s com sinal
VAR
(* Entradas Digitais *)
EntradaDigital_1 AT % IX0.0: BOOL;
EntradaDigital_2 AT % IX0.1: BOOL;
EntradaDigital_3 AT % IX0.2: BOOL;
EntradaDigital_4 AT % IX0.3: BOOL;
(* Saídas Digitais *)
SaidaDigital_1 AT % QX0.0: BOOL;
SaidaDigital_2 AT % QX0.1: BOOL;
SaidaDigital_3 AT % QX0.2: BOOL;
SaidaDigital_4 AT % QX0.3: BOOL;
(* Entradas Analógicas *)
EntradaAnalogica_1 AT % IW10: INT;
EntradaAnalogica_2 AT % IW12: INT;
(* Saídas Digitais *)
SaidaAnalogica_1 AT % QW10: INT;
SaidaAnalogica_2 AT % QW12: INT;
END_VAR
Se a extensão fosse “.pr6” indicaria que o projeto tinha sido criado para
correr em BC´s(ex.BCxx00/old) e “.prx” para correr em BX´s ou BC´s
(ex.BCxx50/new).
Caso haja algum erro , será indicado o tipo de erro através de um numero
(“Error xxxx : MAIN(x)”) e onde se encontra ( Nome do programa e o nº da
Linha) a informação da possível causa .
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 2 KL1002.
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 4 KL2012.
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 6 KL3002.
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 7 KL4032.
Em “on-line” :
1 – Clique no comando “Create Bootproject”.
Em “off-line” :
1 – Clique no comando “Create Bootproject (offline)”.
+ “Implicit at load”
+ “Notice at load”
+ “Implicit on create boot project”
+ “Only on demand” (valor de defeito)
+ “Implicit at load”
Quando se carregar o programa para o PLC (“download”) é também efetuado
o ficheiro que permite fazer o “upload” do mesmo.
+ “Notice at load”
Depois de carregar o programa para o PLC ( “download”), o utilizador é
informado se pretende carregar ( de imediato ) o ficheiro que permite fazer
o “upload” do mesmo (no futuro).
1 – Clique no símbolo .
2 – Clique no comando “Properties”.
3 – Clique na pasta “PLC”.
Nos IPC´s (PC Industriais) ou PCe (“embedded”) existem duas diferentes formas
de guardar dados com a capacidade permanente e que são as seguintes:
- Variáveis com a definição RETAIN
- Variáveis com a definição PERSISTENT
VAR RETAIN
Contar_ciclos: UINT;
END_VAR
quando o sistema reiniciar irá carregar o ultimo valor que foi guardado no ficheiro
temporário “TCPLC_T_1.wb~” , pois o sistema não teve possibilidade de criar e
atualizar o ficheiro “TCPLC_T_1.wbp”. Por esse motivo o valor lido será o valor
antigo “Compteur” = 13
e que é diferente do valor (= 35) que o PLC tinha quando ocorreu o “desligar
intempestivo” do sistema.
Existem todavia, diversos procedimentos que evitam este problema e que são os
seguintes: