Você está na página 1de 46

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 j.andril@bresimar.pt
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@bresimar.pt
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 “TcSystem.lib” 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@bresimar.pt

BRESIMAR - Jorge Andril (v2.1) Pag. 44 de 44