Beckhoff TwinCAT
The Windows Control and Automation Technology
NOTA DE APLICAÇÃO 01
Princípios básicos da programação de PLC para
PC com o TwinCAT PLC
BRESIMAR (asaTek)
e-mail [Link]@[Link]
B-NA01(v2.1)
Novembro/2018
Bresimar Automação, S.A.
Geral (Sede)
Quinta do Simão - EN109 - Esgueira
Apartado 3080
3801-101 Aveiro
PORTUGAL
Telf . +351 234 303 320 Telm . +351 939 992 222
Fax +351 234 303 328/9
e-mail bresimar@[Link]
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Í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
BRESIMAR - Jorge Andril (v2.1) Pag. 1 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
1 – Introdução
O software TwinCAT PLC é um sistema que permite criar um PLC “virtual” a
correr em um PC com o sistema operativo Windows 2000 , XP ou Vista ( a partir da
versão 2.10 build 1319) e que pode ser programado utilizando a norma standard IEC
61131-3 (“Programming Industrial Automation Systems”).
Este documento técnico irá descrever de uma maneira simples os princípios
básicos de como :
- Criar um programa de um automatismo usando o editor de programa
PLC Control para correr no TwinCAT PLC (softPLC ) instalado em
um PC (“Personal Computer”) .
- Ligar as variáveis do programa do PLC ao hardware , utilizado no
processo, usando o configurador do sistema System Manager.
O programa do automatismo a ser executado no TwinCAT PLC poderá ser
construído nas seguintes linguagens de programação :
IL (“Instruction List”)
LD (“Ladder Diagram”)
FBD (“Function Block Diagram”)
SFC (“Sequential Function Chart”)
ST (“Structured Text”)
CFC (“Continuous Function Chart”)
BRESIMAR - Jorge Andril (v2.1) Pag. 2 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
2 – Criar um projeto no TwinCAT PLC
2.1 – Abrir um novo projeto
Através do editor de programa PLC Control siga os seguintes passos :
1 – Clique com o rato (botão esquerdo) no comando <File> / <New> que
se encontra na parte superior do software ou clique no seguinte
símbolo ( )
2 – Selecione o tipo de PLC em que pretende correr o seu programa do
automatismo. O nosso exemplo irá correr no PLC “virtual” (local)
TwinCAT PLC instalado em um PC(i386) . Caso utilizássemos um
PC embedded, do tipo CX (x86) ou CX(ARM) o procedimento seria
o mesmo.
BRESIMAR - Jorge Andril (v2.1) Pag. 3 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3 – Selecione a linguagem de programação que utilizará na construção
do programa do automatismo. No nosso exemplo utilizaremos a
linguagem estruturada ST (“Structured Text”).
4 – Atribua um nome ao modulo de organização de programa “POU “ que
será criado. No nosso exemplo manteremos o nome “MAIN” que o
PLC Control atribui por defeito .
Cumpridos os passos anteriores o editor de programa PLC Control
abrirá um projeto novo, para o PLC escolhido, que contem um
“POU” (“Unidade de Organização de Programa”) do tipo “Program”,
com o nome “MAIN”.
BRESIMAR - Jorge Andril (v2.1) Pag. 4 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
2.2 – Declaração das variáveis
Durante a construção do programa do automatismo todas as variáveis
utilizadas deverão ser declaradas no bloco de edição reservadas ás
variáveis. Este bloco encontra-se na secção superior da janela de edição
de programa e onde se encontra a palavra-chave VAR e END_VAR.
As variáveis declaradas poderão ser configuradas com posições de
memoria (variáveis alocadas a endereços absolutos). Extem 3 tipos de
posições de memoria %I, %Q e %M.
BRESIMAR - Jorge Andril (v2.1) Pag. 5 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
TIPO AREA DE MEMORIA DESCRIÇÃO
Variável de entrada (“Input”) que permite
I Entrada passar os dados do processo (“campo”) para
o programa do PLC.
Variável de saída (“Output”) que permite
Q Saída passar os dados do programa do PLC para
o processo (“campo”) .
Variável de memoria (“Flag”) que permite
M Memoria passar os dados dentro do programa do PLC
.
As variáveis declaradas terão a seguinte configuração:
<NomeVariavel> AT %<TipoDado><TamanhoDado><EndereçoByte>: <TipoDado> ;
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
BRESIMAR - Jorge Andril (v2.1) Pag. 6 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
2.3 – Criar o mapa das entradas e saídas
As variáveis do programa PLC declaradas serão utilizadas posteriormente
na construção do programa do automatismo pretendido.
Estas variáveis poderão ser declaradas como LOCAIS ( só poderão ser
visíveis pelo POU onde foram declaradas) ou GLOBAIS (poderão ser
visiveis por qualquer POU do projeto ) .
NOTA: Como bom método de declaração das variáveis poderá utilizar o
tipo de dados USINT, SINT, UINT, INT, UDINT ou DINT quando
necessitamos de manusear dados numéricos e do tipo BYTE, WORD ou
DWORD em variáveis em que necessitamos manusear ou aceder a bit´s
dessa mesma variável .
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
Poderíamos utilizar outra fórmula de declaração usando, em cada
endereço absoluto, a representação seguinte ( só valido a partir da
versão v2.9 do TwinCAT PLC):
- Para as entradas %I*
- Para as saídas %Q*
- Para as memorias %M*
BRESIMAR - Jorge Andril (v2.1) Pag. 7 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
2.4 – Escrever o programa do automatismo
O programa do automatismo , que será escrito em linguagem estruturada
( ST-Structured Text) , executará o seguinte algoritmo :
Automatismo das entradas/saídas digitais
- Com a entrada digital 1 acionada a saída digital 1 estará ativa
- Com a entrada digital 2 acionada a saída digital 2 estará ativa
- Com a entrada digital 3 acionada a saída digital 3 estará desativa
- Com a entrada digital 4 acionada a saída digital 4 estará desativa
Automatismo das entradas/saídas
- O valor analógico da entrada 1 será transmitida para a saída analógica 1
- O valor analógico da entrada 2 será dividido por 2 e transferido o seu
valor para a saída analógica 2
1 – Escreva no editor de programa do PLC Control as instruções em ST
apresentadas a seguir:
(* Acionamento das saídas digitais *)
SaidaDigital_1 := EntradaDigital_1 ;
SaidaDigital_2 := EntradaDigital_2 ;
SaidaDigital_3 := EntradaDigital_3 ;
SaidaDigital_4 := EntradaDigital_4 ;
(* Tratamento das entradas analógicas *)
SaidaAnalogica_1 := EntradaAnalogica_1 ;
SaidaAnalogica_2 := EntradaAnalogica_2 / 2 ;
2 – Salve o programa e dê um nome <File> / <Save as…>.
O nome do projeto é “TcPLC_pc.pro” , onde a extensão “.pro” indica
que o projeto foi executado para um PLC “virtual” a correr em PC
ou PC embedded.
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).
BRESIMAR - Jorge Andril (v2.1) Pag. 8 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
2.5 – Compilar o programa do automatismo
Depois de escrever o programa, no editor PLC Control, devemos compilar
o projeto e verificar se existem erros.
1 - Clique com o rato no comando <Project>
2 - Clique com o rato no comando <Build>
BRESIMAR - Jorge Andril (v2.1) Pag. 9 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
O TwinCAT PLC irá começar a fazer a compilação do programa anteriormente
escrito e irá mostrar, na parte inferior do editor de programa, o resultado desse
trabalho.
Se a compilação for bem sucedida o editor enviará a seguinte mensagem
“0 Error(s), 0 Warning(s)” . Caso haja chamadas de atenção ”Warning(s)” elas
não impedem o funcionamento do automatismo , ao contrário dos erros .
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 .
BRESIMAR - Jorge Andril (v2.1) Pag. 10 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Depois de compilado o programa sem erros deverá ser salvo no diretório de
trabalho. Um ficheiro com extensão “tpy” terá sido criado e conterá a lista de
todas as variáveis que se encontram localizadas em %I e %Q . Este ficheiro
será posteriormente utilizado no System Manager (capítulos seguintes).
BRESIMAR - Jorge Andril (v2.1) Pag. 11 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3 – Anexar as variáveis declaradas ao hardware I/O
3.1 – Anexar o projeto PLC ao configurador do sistema
Depois do projeto de automação de PLC criado teremos de executar uma
2º tarefa que permita ligar as variáveis declaradas com %I e %Q , no PLC
Control, ao hardware que pretendemos utilizar no campo.
De seguida iremos executar os seguintes passos, no System Manager:
1 - Clique com a tecla direita do rato no comando <PLC-Configuration>.
2 - Selecione a opção <Append PLC Project>.
3 - Selecione o projeto feito anteriormente (*.tpy) no PLC Control.
4 – Clique em <Open> e o System Manager agrupará a lista de variáveis
do programa do automatismo no configurador.
BRESIMAR - Jorge Andril (v2.1) Pag. 12 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
5 – Caso selecione a opção “Relative to TSM path” , esta opção permitirá
procurar o projeto do PLC no diretório do ficheiro de configuração.
BRESIMAR - Jorge Andril (v2.1) Pag. 13 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3.2 – Entradas digitais
Ligação das variáveis das entradas digitais:
1 – Clique em <Term2 (KL1002)>.
2 – Selecione a pasta “Variables”.
3 – Clique em “Channel 1 …”.
4 – Selecione a variável de entrada que pretende ligar ao hardware
(modulo de entradas digitais KL1002 de 2 canais).
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 2 KL1002.
BRESIMAR - Jorge Andril (v2.1) Pag. 14 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Para as restantes variáveis das entradas digitais poderá seguir o mesmo
procedimento anteriormente descrito.
BRESIMAR - Jorge Andril (v2.1) Pag. 15 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3.3 – Saídas digitais
Ligação das variáveis das saídas digitais:
1 – Clique em <Term4 (KL2012)>.
2 – Selecione a pasta “Variables”.
3 – Clique em “Channel 1 …”.
4 – Selecione a variável de entrada que pretende ligar ao hardware
(modulo de saídas digitais KL2012 de 2 canais).
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 4 KL2012.
BRESIMAR - Jorge Andril (v2.1) Pag. 16 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Para as restantes variáveis das saídas digitais, poderá seguir o mesmo
procedimento anteriormente descrito.
BRESIMAR - Jorge Andril (v2.1) Pag. 17 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3.4 – Entradas analógicas
Ligação das variáveis das entradas analógicas:
1 – Clique em <Term6 (KL3002)>.
2 – Selecione a pasta “Channel 1”.
3 – Clique em “Data In …”.
4 – Selecione a variável de entrada que pretende ligar ao hardware
(modulo de entradas analógicas KL3002 de 2 canais).
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 6 KL3002.
BRESIMAR - Jorge Andril (v2.1) Pag. 18 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Para as restantes variáveis das entradas analógicas, poderá seguir o mesmo
procedimento anteriormente descrito.
BRESIMAR - Jorge Andril (v2.1) Pag. 19 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3.5 – Saídas analógicas
Ligação das variáveis das saídas analógicas:
1 – Clique em <Term7 (KL4032)>.
2 – Selecione a pasta “Channel 1”.
3 – Clique em “Data Out …”.
4 – Selecione a variável de entrada que pretende ligar ao hardware
(modulo de saídas analógicas KL4032 de 2 canais).
5 – Clique em “OK”.
De seguida aparecerá uma mensagem a indicar a ligação (“link”)
efetuada no canal 1 do terminal 7 KL4032.
BRESIMAR - Jorge Andril (v2.1) Pag. 20 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Para as restantes variáveis das saídas analógicas, poderá seguir o mesmo
procedimento anteriormente descrito.
BRESIMAR - Jorge Andril (v2.1) Pag. 21 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
4 – Configurar o sistema TwinCAT e o PLC “virtual”
Depois de criado o programa do automatismo e sua configuração devemos, de
Seguida, executar duas tarefas.
Devemos em primeiro lugar carregar a configuração no sistema com o
System Manager e de seguida o programa do automatismo, para o PLC escolhido
, com o PLC Control .
4.1 – Carregar a configuração de hardware no sistema
Iremos de seguida carregar a configuração de hardware , utilizando o
programa System Manager , seguindo os seguintes passos :
1 – Clique no comando “Generate mappings” ( ).
Irá gerar o mapa com as ligações entre os terminais KLxx (hardware)
e as respetivas variáveis declaradas.
BRESIMAR - Jorge Andril (v2.1) Pag. 22 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
2 – Clique no comando “Check configuration” ( ).
Irá verificar se existem erros na configuração.
3 – Clique no comando “Active configuration” ( ).
Depois de confirmar com “OK” o System Manager irá registar , no
sistema, a configuração anteriormente definida.
4 – Clique no comando “OK” para o TwinCAT PLC reiniciar.
BRESIMAR - Jorge Andril (v2.1) Pag. 23 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
O TwinCAT PLC irá reiniciar o sistema e ficará em RUN . Este estado
de funcionamento do sistema “router ADS” pode ser visualizado na zona
inferior direita da janela do System Manager .
O sistema estará a correr quando apresentar o seguinte estado:
4.2 – Selecionar o PLC a utilizar
Iremos de seguida escolher o PLC em que pretendemos correr o programa
do automatismo. Neste exemplo iremos utilizar o PLC “virtual” existente
no nosso PC (“Target Local”).
1 – Clique no comando “Online”.
2 – Clique no comando “Choose Run- Time System …” , para escolher o
PLC com que pretendemos trabalhar.
BRESIMAR - Jorge Andril (v2.1) Pag. 24 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3 – Escolha o PLC “Local”.
4 – Selecione o PLC 1 “Run-Time 1 (Port 801)”.
5 – Clique em “OK”.
4.3 – Carregar o programa do automatismo no PLC (“download”)
De seguida iremos carregar o programa do automatismo na CPU do
PLC “virtual” (“Target Local”).
1 – Clique no comando “Online”.
2 – Clique no comando “Login”.
BRESIMAR - Jorge Andril (v2.1) Pag. 25 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
3 – Clique no comando “OK”.
4.4 – Correr o programa do automatismo
Depois de carregado o programa no PLC iremos iniciar o correr do
programa do automatismo. Siga os seguintes passos:
1 – Clique no comando “Online”.
2 – Clique no comando “Run”.
De seguida o PLC “virtual”, instalado no nosso PC, irá começar a correr o
programa do automatismo projetado anteriormente .
BRESIMAR - Jorge Andril (v2.1) Pag. 26 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
BRESIMAR - Jorge Andril (v2.1) Pag. 27 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
4.5 – Criar programa de arranque (“boot project”)
Para que o sistema inicie automaticamente o correr do programa do
automatismo , todas as vezes que ligamos o PLC “virtual” (PC) , é
necessário criar um projeto de arranque a que se designa “boot project”.
Para criar um projeto de arranque do automatismo siga os passos
seguintes (é possível em “on-line” e em “off-line” ) :
Em “on-line” :
1 – Clique no comando “Create Bootproject”.
Em “off-line” :
1 – Clique no comando “Create Bootproject (offline)”.
BRESIMAR - Jorge Andril (v2.1) Pag. 28 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
4.6 – Criar programa para “upload” (“sourcecode download”)
Caso se pretenda no futuro descarregar o programa existente na CPU
do PLC “virtual”, para sua analise ou alteração, devemos seguir os passos
seguintes (é possível em modo “on-line” e com o sistema TwinCAT em
funcionamento RUN ) :
1 – Clique no comando “Online”.
2 – Clique no comando “Login”.
3 – Clique no comando “Sourcecode download”.
BRESIMAR - Jorge Andril (v2.1) Pag. 29 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
4.7 – Configuração para criar o programa de “upload”
O processo de criar o programa de “upload”, descrito anteriormente, foi
feito de uma maneira manual .
É possível que este programa “sourcecode download” seja feito de uma
modo automático. Para isso é necessário configurar o editor PLC
Control da seguinte maneira :
1 – Clique na pasta “Resource”.
2 – Clique na pasta “Workspace”.
3 – Escolha uma das opções disponíveis do momento em que pretende
efetuar o programa “sourcecode download”.
+ “Implicit at load”
+ “Notice at load”
+ “Implicit on create boot project”
+ “Only on demand” (valor de defeito)
BRESIMAR - Jorge Andril (v2.1) Pag. 30 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
+ “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).
+ “Implicit on create boot project”
Quando se cria o programa de arranque (“boot project”) é efetuado também o
ficheiro que permite fazer o “upload” do programa do PLC (no futuro).
+ “Only on demand” (opção de defeito)
Esta é a opção que se encontra configurado por defeito no editor PLC Control.
Com esta opção selecionada teremos de efetuar o ficheiro de “upload”
(“sourcecode download”) manualmente.
BRESIMAR - Jorge Andril (v2.1) Pag. 31 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
4.8 – Descarregar (“upload”) o programa do PLC
Concluídos os passos anteriores estamos preparados (caso o programa
não tenha “password” de acesso) para efetuar o “upload” do PLC .
Dentro do editor de programa PLC Control execute o seguinte:
1 – Clique no comando “File” e de seguida “Open”.
BRESIMAR - Jorge Andril (v2.1) Pag. 32 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
2 – Clique no comando “PLC…”.
Escolha o tipo de PLC de onde pretende descarregar (“upload”) o
programa do automatismo (PLC “virtual” em PC).
3 – Clique, na janela “Choose Run-Time System”, na porta do PLC Local
“Run-Time 1 (Port 801)” e de seguida clique em “OK”.
4 – Clique , na janela, “Load project from PLC”, em “Yes, all” e
descarregará para o seu editor PLC Control o programa do
automatismo que se encontrava no PLC, escolhido anteriormente.
BRESIMAR - Jorge Andril (v2.1) Pag. 33 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
4.8 – Ficheiros da pasta “Boot”
Depois de concretizar os seguintes passos (anteriormente explicados):
1 – Configuração do hardware através do “System Manager”
2 – Criação do programa de arranque “Boot project”
3 – Criação do programa de “upload” “Sourcecode download”
o sistema guardará, por defeito, na pasta “Boot” do diretório “TwinCAT”
(ex: C:\TwinCAT\Boot ) ficheiros correspondentes a cada uma das
anteriores tarefas.
Os 3 ficheiros, indicados a vermelho na figura anterior, são guardados
automaticamente pelo sistema quando da execução da respetiva tarefa .
(1)“CurrenteConfig.*” ficheiros criados quando da execução do registo da
configuração de hardware no “System Manager” (configuração corrente)
(2)“TCPLC_P_1.wbp” criado na execução do “Boot project”
(3)“TCPLC_S_1.wbp” criado na execução do “Sourcecode download”
NOTA: Será aconselhável, como segurança , guardar todos os ficheiros do
diretório “boot” como “backup” .
BRESIMAR - Jorge Andril (v2.1) Pag. 34 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
5 – Ativar o arranque automático do sistema TwinCAT PLC
Finalizados os passos anteriores teremos de preparar o sistema TwinCAT (router
ADS) para quando o PC se desligar e voltar a ser ligado (alimentação elétrica)
entre automaticamente em modo RUN ( ) e não em modo “configuração”( ).
5.1 – Configurar o arranque automático do sistema
Coloque o seu rato em cima do símbolo ( ou ) que se encontra
no lado direito da barra inferior de comandos do seu PC .
1 – Clique no símbolo .
2 – Clique no comando “Properties”.
3 – Clique na pasta “System”.
BRESIMAR - Jorge Andril (v2.1) Pag. 35 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Configure o “Auto Boot” com “Enable”. Assim o sistema ficará preparado
para quando reiniciar automaticamente todos os serviços existentes passam
para o modo RUN ( ).
5.2 – Configurar o arranque automático do automatismo no PLC
Coloque o seu rato em cima do símbolo ( ou ) que se encontra no
lado direito da barra inferior de comandos do seu PC .
1 – Clique no símbolo .
2 – Clique no comando “Properties”.
3 – Clique na pasta “PLC”.
BRESIMAR - Jorge Andril (v2.1) Pag. 36 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
6 – Gestão dos dados permanentes no TwinCAT PLC
Em caso de corte de energia ou comutação do estado funcional do servidor
TwinCAT de modo RUN ( ) para modo CONFIG ( ) o PLC deverá ter a
capacidade de guardar os dados em memoria permanente de maneira a poder
recuperar , esses mesmo dados , quando de novo reiniciar o sistema de automação
(“TwinCAT 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
Logo que o TwinCAT PLC for desligado/desativado o sistema cria , no disco do
PC , um ficheiro para as variáveis RETAIN e outro para as variáveis
PERSISTENT . Estes dois ficheiros estão localizados na pasta “\TwinCAT\Boot”
do disco em que se encontra instalado o sistema TwinCAT .
Se estivermos a funcionar com um PCe (“embedded”) , do tipo CX , esses
ficheiros estarão localizados na pasta “HardDisk\TwinCAT\Boot” da “flash
memory” .
6.1 – Diferenças entre as memorias RETAIN e PERSISTENT
As memorias do tipo RETAIN permitem salvar os seguintes tipos de
variáveis:
- Variáveis não alocadas
- Variáveis alocadas a %M
BRESIMAR - Jorge Andril (v2.1) Pag. 37 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Estas variáveis são colocadas a “zero” com o comando RESET, RESET
ALL ou quando carregamos (“download”) um novo programa para o PLC .
As memorias do tipo PERSISTENT permitem salvar os seguintes tipos de
variáveis :
- Variáveis não alocadas
- Variáveis alocadas a %M , %I e %Q
Estas variáveis são colocadas a “zero” só com o comando RESET ALL .
6.2 – Criação de variáveis RETAIN e PERSISTENT
Quando da declaração das variáveis o programador deverá especificar, no
editor de programa “TwinCAT Control”, o tipo de variável que pretende
usar. RETAIN ou PERSISTENT.
Estas variáveis (neste caso RETAIN) deverão ficar localizadas , no campo
das variáveis , entre os as palavras chave VAR_RETAIN e END_VAR .
VAR RETAIN
Contar_ciclos: UINT;
END_VAR
BRESIMAR - Jorge Andril (v2.1) Pag. 38 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Não há qualquer utilidade, do ponto de vista funcional de programa , atribuir
simultaneamente à mesma variável a categoria de RETAIN e PERSISTENT .
O tamanho da área de memoria reservada ás variáveis RETAIN é configurável a
partir do menu “Option” do editor de programa TwinCAT Control .
Finalizado a declaração de todas as variáveis RETAIN é necessário especificar,
no serviço TwinCAT , a tarefa de recuperação automática dessas variáveis quando
se reinicia o sistema TwinCAT (passagem do sistema de modo CONFIG para
RUN ou ligar eletricamente o sistema do PLC “virtual”).
Esta configuração é realizada com a ajuda do TwinCAT System Manager.
BRESIMAR - Jorge Andril (v2.1) Pag. 39 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
As variáveis PERSISTENT são guardadas automaticamente, em ficheiro , sem
necessidade de qualquer configuração no System Manager por parte do
programador .
6.3 – Mecanismo de funcionamento das variáveis permanentes
Como anteriormente já foi explicado, os ficheiros de salvaguarda (“backup”) são
criados quando da paragem do sistema TwinCAT. A paragem deste serviço ,que
poderá ser somente a ordem de passagem do TwinCAT de modo RUN para
CONFIG , cria um ficheiro com a designação “TCPLC_T_1.wbp” no disco duro
.
No reinicio do sistema TwinCAT , com a passagem para modo RUN , o ficheiro
anteriormente guardado em disco (“TCPLC_T_1.wbp”) é recuperado e carregado
os seus dados no PLC. Ao mesmo tempo será renomeado ficando com a seguinte
extensão “TCPLC_T_1.wb~”. Este ficheiro é um ficheiro temporário e ficará
localizado na mesma pasta do disco duro.
De seguida exemplifico os passos que ocorrem num programa quando
pretendemos que uma variável seja permanente e assim não perca os seus dados
quando desligamos o PC ou o servidor TwinCAT. A variável que pretendemos
guardar como permanente, neste exemplo, foi declarada com o nome “Compteur”
e é PERSISTENT.
BRESIMAR - Jorge Andril (v2.1) Pag. 40 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
O valor que será recuperado do ficheiro “TCPLC_T_1.wbp” quando reiniciar o
serviço do TwinCAT é igual a 13 .
Se por acaso o processo do automatismo for interrompido de uma maneira brusca
(corte de energia intempestivo sem cumprir o procedimento correto de desligar o
sistema operativo) o processo de arquivar os valores das variáveis permanentes
não será efetuado. Se nessa altura no PLC o valor da variável “Compteur” for 35
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.
Em algumas situações, este modo de funcionamento, poderá ser perigoso para o
automatismo pois estamos a recomeçar o funcionamento partindo de um valor
errado. Nesta circuntâncias é preferível que o sistema limpe (“por a zero”) essas
variáveis quando se reinicia o automatismo. No exemplo anterior a variável
iniciará com o valor “Compteur=0”
Podemos parametrizar o TwinCAT de maneira a que o PC ou PCe(CX) limpe as
variáveis permanentes invalidas. Essa parametrização é efetuada no TwinCAT
System Manager na seguinte pasta
BRESIMAR - Jorge Andril (v2.1) Pag. 41 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
6.4 – Livraria com rotina de teste das variáveis permanentes
O TwinCAT Control dispõe de uma variável complexa, do tipo STRUCT (
SYSTEMINFOTYPE ), que se for criada uma sua instancia no programa podemos
saber o estado dos ficheiros de “backup” RETAIN e PERSISTENT. Esta variável
encontra-se declarada na livraria “[Link]” e deverá ser carregada na pasta
das livrarias do projeto.
O elemento “bootDataFlags” da variável complexa “SYSTEMINFOTYPE” poderá
indicar os seguintes estados:
0 Variáveis RETAIN carregadas sem erros
1 Variáveis RETAIN carregadas com valores inválidos
2 Pedido de arquivar variáveis RETAIN
3 reservado
4 Variáveis PERSISTENT carregadas sem erros
5 Variáveis PERSISTENT carregadas com valores inválidos
6 reservado
7 reservado
BRESIMAR - Jorge Andril (v2.1) Pag. 42 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
6.5 – Desvantagens das variáveis permanentes por ficheiro
Os ficheiros de “backup” que guardam as variáveis permanentes são unicamente
criadas após o “desligar correto” do serviço do TwinCAT . Isto quer dizer que
devemos desligar o sistema utilizando o procedimento habitual de quando
desligamos um PC com sistema operativo Windows ( o serviço TwinCAT passa de
RUN para CONFIG). Quando existe um desligar intempestivo do sistema (IPC ou
ePC), devido a um corte de energia ao computador por exemplo , o sistema não
tem tempo de criar os ficheiros de backup porque não tem tempo de por o serviço
do TwinCAT de RUN para CONFIG. Sendo assim, não são guardadas as variáveis
definidas como permanentes em ficheiro no disco duro. Este processo de guardar
em ficheiro faz-se na transição do modo de funcionamento do serviço TwinCAT
de RUN para CONFIG.
Existem todavia, diversos procedimentos que evitam este problema e que são os
seguintes:
- Utilização de uma UPS que permita manter a energia ao IPC ou ePC ,
quando da ocorrência de um corte de alimentação elétrica , até completar o
desligar do sistema operativo de um modo natural e correto .
- A BECKHOFF tem algumas Funções Bloco ( ex. FB_WritePersistentData )
que permitem , através do programa residente no PLC, criar e gravar ficheiros
automaticamente no disco duro do IPC ou ePC com uma frequência
programada pelo programador .
- Quando se utiliza PC´s embedded da BECKHOFF com o TwinCAT,
podemos utilizar a área de memoria NOV-RAM (memoria RAM não volátil).
BRESIMAR - Jorge Andril (v2.1) Pag. 43 de 44
NA01 – Princípios básicos da programação de PLC para PC com TwinCAT PLC
Bresimar Automação, S.A.
Geral (Sede)
Quinta do Simão - EN109 - Esgueira
Apartado 3080
3801-101 Aveiro
PORTUGAL
Telf . +351 234 303 320 Telm . +351 939 992 222
Fax +351 234 303 328/9
e-mail bresimar@[Link]
BRESIMAR - Jorge Andril (v2.1) Pag. 44 de 44