Você está na página 1de 127

BECKHOFF AUTOMATION

MANUAL DE FORMAÇÃO DE INICIAÇÃO


TwinCAT 3.1

por Jorge Andril

01 / 2017

• BRESIMAR AUTOMAÇÃO , S.A. • Departamento de Engenharia ASATEK • www.bresimar.pt


• Quinta do Simão EN109 - Esgueira • Apartado 3080 • 3800-230 Aveiro • PORTUGAL
O agradecimento à BECKHOFF AUTOMATION pelo fornecimento de
documentação técnica e à BRESIMAR AUTOMAÇÃO S.A. pela
disponibilidade de equipamentos para a execução de testes de campo.
A BRESIMAR AUTOMAÇÃO é uma
empresa com sede em Aveiro, Portugal

A Bresimar Automação S.A., é uma empresa familiar Possui uma equipa técnica qualificada, que presta serviços
especializada em Automação Industrial. Fundada em 1982 de assistência pré e pós-venda, que propõe e aconselha
foi evoluindo a sua atividade comercial e atualmente soluções tecnológicas inovadoras.
divide-se em 3 áreas de negócios.
A gestão está focada e orientada para os clientes, pelo que
Essas áreas de negócios são as seguintes: efetua uma seleção muito criteriosa de fornecedores. A
formação é um fator determinante para a qualidade dos
 Comercialização de equipamentos para serviços prestados por todos os colaboradores.
automação industrial através da representação
exclusiva de diversas marcas, mundialmente Espero que estes apontamentos técnicos vos sejam úteis
conceituadas (INSYS-icom , Beckhoff , Siemens nas vossas aplicações de automação industrial!
, Turck , Beijer , entre outras ) .
Obrigado pela vossa atenção.
 Serviços de engenharia de automação e controlo
para processos industriais com desenvolvimento
de software para PLCs e HMIs . Este serviço Saudações
possui a marca registada asaTek . Jorge Andril
j.andril@bresimar.pt
 Produção e desenvolvimento de transmissores e
http://pt.linkedin.com/in/jorgeandril
sensores de temperatura incluindo sistemas sem
fios. Estes equipamentos tem a marca registada
tekOn .
LISTA DE CONTEÚDOS

I – Instalação do software TwinCAT 3.1


I-1 – Instalação do softPLC TwinCAT V3.1 1
I-1.1 – Instalação do software de engenharia TwinCAT v3.1 (XAE) 1
I-1.2 – Instalação do software runtime TwinCAT V3.1 (XAR) 5
I-2 – Ativação das licenças do software 6
I-2.1 – Ativação das licenças do XAR por software 6
I-2.1.1 – Ativação de licenças trial 6
I-2.1.2 – Ativação de licenças defínitivas 8
I-2.2 – Ativação das licenças do XAR por hardware 11
I-2.2.1 – Ativação com dongle EL6070 11
I-2.2.2 – Ativação com dongle C9900-L100 USB 12
I-2.2.3 – Como usar o dongle EL6070 e C9900-L100 USB 13
I-2.3 – Erros na ativação das licenças 14
I-3 – Soluções para incompatibilidades e erros do software TwinCAT 3.1 15
I-3.1 – Habilitar a função INTEL VT-x 15
I-3.2 – Erro de arranque de real-time com Windows 10 / 64bit 18
I-3.3 – Erro de arranque do real-time com Windows 8 / 64bit 19
I-3.4 – Incompatibilidade do TwinCAT 3.1 com Windows XP 19
I-3.5 – Erro de instalação (“Error 1406”) 19
I-3.6 – Erro de não abertura de “porta” (“Error 0x748) 20
I-3.7 – Falha da pagina inicial do TwinCAT 3.1 (“Start Page”) 20
I-3.8 – Simultaneidade do softPLC TwinCAT (XAR) v2 e v3 no mesmo PC 21
I-3.9 – Alinhamento de dados consistentes no TwinCAT 3.1 21

II – TwinCAT 3.1 - IO
II-1 – Comunicação com o controlador “target” 23
II-2 – Configuração dos IO´s (hardware) 28
II-3 – Linkagens dos IO´s (software) 32

III – TwinCAT 3.1 - PLC


III-1 – Introdução à norma IEC 61131-3 37
III-1.1 – Tipo de dados standard 37
III-1.1.1 – Variáveis Constantes 41
III-1.1.2 – Variáveis Retentivas 41
III-1.2 – Tipo de dados complexos 42
III-1.2.1 – DUTs do tipo “Structure” 42
III-1.2.2 – DUTs do tipo “Enumeration” 43
III-1.2.3 – DUTs do tipo “Alias” 43
III-1.2.4 – DUTs do tipo “Union” 44
III-1.3 – Tipo de Unidade de Organização de Programa (POUs) 44
III-1.3.1 – Programas “Program” (PRG) 45
III-1.3.2 – Programas “Function Block” (FB) 45
III-1.3.3 – Programas “Function” (FUN) 45
III-1.4 – Linguagens de programação 45
III-1.4.1 – Linguagem ST – “Structured Text” 46
III-2 – Execução de um projeto para TwinCAT PLC 3.1 49
III-2.1 – Execução do programa 49
III-2.2 – Ativação do programa 52
III-2.3 – Debugging do programa 53
III-2.3.1 – Pontos de paragem (“Breakpoint”) 53
III-2.3.2 – Monitorização do fluxo de codigo (“Flow control”) 54
III-2.3.3 – Monitorização multivariáveis (“Watch 1…4”) 54
BECKHOFF AUTOMATION
TwinCAT V3.1

IV - TwinCAT 3.1 - HMI


IV-1 – Programação do TwinCAT 3.1 HMI (Interface Homem Máquina) 57
IV-1.1 – Criar um projeto de visualização 58
IV-1.2 – Desenho da visualização 58
IV-1.2.1 – Simbolos gráficos para valores digitais 58
IV-1.2.2 – Simbolos gráficos para valores analógicos 60
IV-1.2.3 – Simbolos gráficos para caracteres 62
IV-1.2.4 – Comando de mudança de ecrãs 64
IV-1.2.5 – Display de lista de texto dinamico 66
IV-1.2.6 – Comando multilingue 68
IV-2 – TwinCAT 3.1 HMI em stand-alone 73
IV-2.1 – TwinCAT 3.1 HMI em sistemas operativos Windows XE e 7 73
IV-2.1.1 – Configuração do boot do TwinCAT 3.1 HMI (XP e Win 7) 75
IV-2.2 – TwinCAT 3.1 HMI em sistemas operativos Windows CE 75
IV-2.2.1 – Problemas com o TwinCAT 3.1 HMI em full-screen com Windows CE 76
IV-2.2.2 – Configuração do boot do TwinCAT 3.1 HMI (Win CE) 79
IV-3 – Gestão do acesso funcional ao TwinCAT 3.1 HMI 81
IV-4 – TwinCAT 3.1 HMI em plataforma web 85
IV-4.1 – TwinCAT 3.1 HMI – Web em redes LAN 85
IV-4.2 – TwinCAT 3.1 HMI – Web em redes Wireless 87

V – TwinCAT 3.1 - Gestão de Livrarias


V-1 – Gestão da biblioteca de livrarias 89
V-2 – Criação de livrarias próprias 93

VI – TwinCAT 3.1 - Gestão dos programas de projeto


VI-1 – Gerir programas de configuração, arranque e de upload 99
VI-2 – Guardar código fonte dos projetos 101
VI-2.1 – Guardar projetos completos 101
VI-2.2 – Guardar projetos do PLC 103
VI-2.3 – Guardar POUs (PRGs, FBs, FUNs, VISUs, GVLs) 104
VI-2.4 – Guardar programas de SAFETY 106
VI-2.5 – Guardar programas de C++ 107
VI-2.6 – Guardar configuração de IOs 108
VI-3 – Gestão de versões de projeto 109

VII – Conversão de projetos feitos em TwinCAT 2


VII-1 – Conversão de livrarias de TwinCAT 2 (*lib) 111
VII-2 – Conversão de projetos completos de TwinCAT 2 114
ix
VII-3 – Conversão de programas de TwinCAT 2 (*.pro) 119
BRESIMAR AUTOMAÇÃO Capitulo I

I – Instalação do software TwinCAT 3.1


Visão geral e instalação do TwinCAT 3.1
A marca alemã BECKHOFF com sede em Verl, localidade situada no
estado da Renânia do Norte-Vestfália, é especialista em
equipamentos de automação e redes industriais. As suas soluções
podem ser encontradas, por exemplo, na automação de “chão de
fabrica” com o objetivo de controlo de máquinas industriais ou no
controlo de edifícios. A tecnologia utilizada, desde o seu
aparecimento nos anos 80 do seculo XX, é baseada na solução soft-
PLC. No caso da BECKHOFF tem a designação de TwinCAT.

Este manual técnico irá focalizar-se na programação dos PLC´s da


BECKHOFF utilizando o software TwinCAT versão 3.1. A versão 3 foi apresentada em 2011 e irá substituir a versão V2,
num futuro próximo.

A versão completa do TwinCAT v3.1 é dividida em duas partes e que são as seguintes:

+ XAE – eXtended Automation Engineering


O XAE é a plataforma de desenvolvimento de software multicodigo e configuração de hardware.
+ XAR – eXtended Automation Runtime
O XAR é a plataforma que corre em tempo real (TwinCAT runtime) a aplicação desenvolvida no TwinCAT
(XAE). A versão TwinCAT 3.1 runtime é para Sistemas Operativos de 32 e 64 bit a partir do SO Windows 7.
A versão TC 3.1 build 4020 suporta o Visual Studio 2015 e o Sistema Operativo Windows 10.
A versão do Visual Studio deverá ser a de língua Inglesa.

Nos passos seguintes iremos explicar a instalação do softPLC TwinCAT v3.1 build 4020 e o Infosys (aplicação que
instala toda a documentação técnica do TwinCAT 3.1).

 I-1 – Instalação do softPLC TwinCAT v3.1

I-1.1 – Instalação do software de engenharia TwinCAT v3.1 (XAE)


Poderá recorrer ao site da BECKHOFF ( http://www.beckhoff.com) para descarregar a ultima versão disponível do
software TwinCAT. Para isso dirija-se, no site anterior, à seguinte pasta (coluna do lado esquerdo):
Download / Software / TwinCAT3 / TE1xxx – Engineering
Clique na pasta e descarregue a Versão 3.1.4020.28 ou superior disponível do TwinCAT 3.1 (XAE):

Completada a descarga do software, para o seu PC, inicie a instalação clicando duas vezes na aplicação:

[asaTek / J.Andril] 1
BRESIMAR AUTOMAÇÃO Capitulo I

Deveremos optar pela instalação completa, “Complete”.

Clique no comando “Next” para iniciar o processo e de seguida “Install”.

Completado o processo de instalação clique no comando “Finish” e reinicie o seu PC através do comando “Yes”.

[asaTek / J.Andril] 2
BRESIMAR AUTOMAÇÃO Capitulo I

De seguida deverá dar inicio à instalação da aplicação informática TC3-InfoSys que instala, no seu PC, toda a
documentação técnica (“Help file”) do TwinCAT v3.1.

Deveremos optar pela instalação “Complete”. Clique no comando “Next” para iniciar o processo de instalação do
TC3-InfoSys.

Caso pretenda escolher a versão do Visual Studio e o idioma pretendido, para a documentação técnica, podemos
optar pela configuração “Custom”.

Clique no comando “Next” para iniciar o processo e de seguida “Install”.

[asaTek / J.Andril] 3
BRESIMAR AUTOMAÇÃO Capitulo I

Clique no comando “Yes” para prosseguir e no final em “Finish”.

Com este ultimo passo completa-se a instalação do software TwinCAT 3.1. Após a instalação poderá abrir o TwinCAT
3.1 e clicar no comando HELP / View Help (Ctrl+F1). Assim poderá visualizar toda a documentação técnica da
Beckhoff designada por Beckhoff Information System (TC3-InfoSys).

Se pretender atualizar a documentação técnica de ajuda (Help) manualmente poderá fazê-lo clicando em “Update
TC3-InfoSys (en-us)”, dentro da pasta Beckhoff, utilizando o botão “Start” do Windows.

[asaTek / J.Andril] 4
BRESIMAR AUTOMAÇÃO Capitulo I

I-1.2 – Instalação do software runtime TwinCAT 3.1 (XAR)


Normalmente nos PC embedded - CX só vem instalado, no seu disco rígido, a versão XAR do TwinCAT 3.1. Como os
discos rígidos são geralmente pequenos e para poupar recursos de memória a plataforma de desenvolvimento não
vem instalada nessas máquinas.

Caso pretenda instalar só o TwinCAT 3.1 (XAR), na sua máquina, poderá recorrer ao site da Beckhoff
(http://www.beckhoff.com) e descarregar a ultima versão do TwinCAT 3.1 (XAR). De seguida apresentamos os
passos necessários para a sua instalação (idêntica à instalação da versão completa).

Poderá verificar e analisar os conteúdos dos seguintes dois pacotes:

Completa (XAE+XAR) : XAR :

Caso o utilizador não queira instalar o pacote completo poderá, através das opções, selecionar as pretendidas. Na
sua instalação o software irá detetar automaticamente se o sistema é de 32 ou 64 bits. Só a partir da versão TwinCAT
3.1 é que suporta ambientes de 32 ou 64 bits.

O caminho (path) da instalação do software é por defeito a pasta C:\TwinCAT\.

[asaTek / J.Andril] 5
BRESIMAR AUTOMAÇÃO Capitulo I

 I-2 – Ativação das licenças do software

I-2.1 – Ativação das licenças do XAR por software


De seguida iremos explicar como devemos ativar as licenças trial ou definitiva das aplicações desenvolvidas no
TwinCAT XAE e descarregadas no softPLC TwinCAT 3.1 (XAR).

I-2.1.1 – Ativação de licenças trial


A grande vantagem do TwinCAT é podermos utilizar o seu software runtime livremente, durante 7 dias. Isso permite
o teste funcional dos programas de automatismo desenvolvidos no XAE. Finalizado esse período de tempo o softPLC
TwinCAT 3.1 (XAR) runtime deixa de funcionar e o programa descarregado não corre. Poderá ativar uma nova licença
por mais 7 dias e repetir esse processo as vezes que quiser, desde que o não utilize para fins comerciais.

Após efetuado o desenvolvimento do projeto e compilado ao descarregarmos para o softPLC o TwinCAT3.1 deteta
automaticamente quais as licenças necessárias a serem ativadas.

Podemos ativar as licenças manualmente, em versão trial durante um período de 7 dias, clicando na pasta “SYSTEM”
/” License” da plataforma de desenvolvimento TwinCAT (XAE).

Existem 4 opções no menu “License”.

“Order Information (Runtime)”: Menu onde pode solicitar a licença trial ou definitiva
“Manage Licenses” : Podemos ativar manualmente as licenças requeridas
“Project Licenses” : As licenças necessárias para o projeto em curso
“Online Licenses” : Licenças que se encontram ativas

Na subpasta “Manage Licenses” ativamos manualmente as licenças pretendidas pondo um visto no campo “Add
License”.

[asaTek / J.Andril] 6
BRESIMAR AUTOMAÇÃO Capitulo I

Retorne à subpasta “Order Information (Runtime)” e clique no botão de comando ”7 Days Trial License…”.

De seguida surgirá uma janela pop-up de verificação de código. Aqui terá de replicar o código de 5 carateres (case
sensitive) indicado na janela superior.

Após clicar em “OK” será mostrado uma janela que informa que temos 7 dias de autorização para o uso do softPLC.
Este processo pode-se repetir após os 7 dias de licença.

Caso haja uma incompatibilidade de licenças, já residentes, o softPLC não passará para run-mode. Esse estado é
indicado pela mensagem “license issue time in the future -> check system time”.

[asaTek / J.Andril] 7
BRESIMAR AUTOMAÇÃO Capitulo I

Esta incompatibilidade reside no sincronismo do relógio de tempo real (system time) do controlador remoto e o do
PC em que se encontra o editor de programa TwinCAT (XAE). Acerte o relógio, do seu PC ou do controlador remoto
(IPC / EPC-CX), de maneira a ficarem sincronizados.

I-2.1.2 – Ativação de licenças definitivas


Quando se compra o TwinCAT 3.1 incorporado em hardware Beckhoff IPC/EPC-CX geralmente não é necessário
ativar as licenças. Só é necessário se compramos separadamente o software do hardware. Nesse caso necessitamos
executar os passos indicados a seguir.

Selecione a subpasta “Manage Licenses” e em “Add License” selecione a licença pretendida.

Caso pretenda visualizar e selecionar as licenças existentes no sistema, independente do projeto, selecione o
comando “Ignore Project Licenses”.

Selecione a subpasta “Order Information (Runtime)”.

[asaTek / J.Andril] 8
BRESIMAR AUTOMAÇÃO Capitulo I

“System Id” : Este campo não necessita ser preenchido . Serve para confirmar a autorização
de ativação da licença no seu PC residente ou no controlador remoto. Neste caso terá de
estar ligado por rede ao controlador/PC remoto.
“Platform” : Não precisa ser preenchido, somente para confirmação.
“License Id” : Introduza o nº da licença comprada.
“Customer Id”: Poderá deixar em branco ou por o nome da empresa ou do equipamento.
“Comment” : Poderá por um comentário da aplicação em que é usada.

Clique de seguida no botão comando “Generate File …”. O sistema irá gerar um ficheiro de requisição de licença,
que deverá guardar no seu disco rígido.

De seguida aparece uma janela pop-up a perguntar se pretende enviar o ficheiro gerado para a Beckhoff. Caso o
pretenda clique em “Yes”.

Caso tenha selecionado “Yes” o sistema enviará uma mensagem para a caixa de correio tclicense@beckhoff.com.
Esta mensagem contem toda a informação necessária para a Beckhoff gerar a licença definitiva.

[asaTek / J.Andril] 9
BRESIMAR AUTOMAÇÃO Capitulo I

Caso este PC não tenha rede Internet poderá copiar o ficheiro e envia-lo, para o endereço anterior, através do seu
serviço de edição de email´s.

Após a receção, na Beckhoff, desse email será verificada a informação relevante existente no ficheiro. Caso não haja
erros será reenviado um email, de resposta, para si com um ficheiro de ativação definitiva.

De seguida selecione o comando “License Response File …” e selecione o ficheiro enviado pela Beckhoff.

Selecione o ficheiro enviado pela Beckhoff.

Após este procedimento o seu softPLC ficará registado definitivamente.

[asaTek / J.Andril] 10
BRESIMAR AUTOMAÇÃO Capitulo I

O ficheiro da licença será automaticamente copiado para C:\TwinCAT\3.1\Target\License. Se o controlador remoto


tiver o sistema operativo Windows CE o ficheiro ficará guardado em \Hard Disk\TwinCAT\3.1\Target\License.

Será boa politica, de gestão documental, arquivar este ficheiro. Serve de back-up de segurança na eventualidade de
surgir uma avaria grave no controlador que suporta o softPLC TwinCAT 3.1 e que se perca a licença residente.

I-2.2 – Ativação das licenças do XAR por hardware


De seguida iremos explicar como devemos ativar as licenças trial ou definitiva das aplicações desenvolvidas no
TwinCAT XAE e descarregadas no softPLC TwinCAT3 XAR, utilizando um dongle / hardlock.

I-2.2.1 – Ativação com dongle EL6070


Podemos utilizar a carta EL6070 como dongle. Esta carta contem a aplicação “Autorization Tool” para as versões
TC3.1.4018 ou superior.

Após o varrimento do hardware existente no seu controlador IPC/EPC-CX selecione, na pasta SYSTEM, a subpasta
“License Device”. Aqui selecione na opção “Dongle ………” e de seguida “Search”.

Na janela pop-up, que surgir, selecione EL6070 e clique em OK.


[asaTek / J.Andril] 11
BRESIMAR AUTOMAÇÃO Capitulo I

De seguida volte para a subpasta “Order Information (Runtime)” e selecione, na janela “System Id”, a opção “Dongle
Hardware Id”.

Clique no comando “Generate File…” para ser enviado um email, para a Beckhoff, com a solicitação da licença (os
mesmos procedimentos do capitulo 2.1.2). Após ter recebido a licença da Beckhoff introduza-a em “License Id”.

I-2.2.2 – Ativação com dongle C9900-L100 USB


Podemos utilizar a pen USB C9900-L100 como dongle. Esta pen USB contem a aplicação “Autorization Tool” para as
versões TwinCAT 3.1.4018.26 ou superior.

Após o varrimento do hardware existente no seu controlador IPC/EPC-CX selecione, na pasta SYSTEM, a subpasta
“License Device”. Aqui selecione na opção “Dongle ………” e de seguida “Search”.

Na janela pop-up, que surgir, selecione C9900-L100 e clique em OK.

[asaTek / J.Andril] 12
BRESIMAR AUTOMAÇÃO Capitulo I

De seguida volte para a subpasta “Order Information (Runtime)” e selecione, na janela “System Id”, a opção “Dongle
Hardware Id”.

Finalmente, introduza a “License Id”.

Clique no comando “Generate File…” para ser enviado um email, para a Beckhoff, com a solicitação da licença (os
mesmos procedimentos do capitulo 2.1.2).

I-2.2.3 – Como usar o dongle EL6070 e C9900-L100 USB


Depois de obtermos o ficheiro de autorização, enviado pela Beckhoff, necessitamos ativar o dongle com as licenças
adquiridas. Para isso tem de voltar a subpasta “License Device” e selecionar o comando “Download License To
Device” para o dongle EL6070 ou C9900-L100.

[asaTek / J.Andril] 13
BRESIMAR AUTOMAÇÃO Capitulo I

Após o procedimento anterior e inserido o dongle (EL6070 ou C990-L100) no IPC ou EPC efetue um scanning ao
hardware existente. As licenças serão detetadas e será apresentada uma janela pop-up para ativar as licenças no
seu controlador target (IPC ou EPC). Clique em “Yes”.

O ficheiro da licença será automaticamente copiado para c:\TwinCAT\3.1\Target\License. Se o controlador remoto


tiver o sistema operativo Windows CE o ficheiro ficará guardado em \Hard Disk\TwinCAT\3.1\Target\License.

I-2.3 – Erros na ativação das licenças


A solicitação do ficheiro de autorização das licenças necessárias para a aplicação no IPC ou EPC, como anteriormente
explicado, terá de ser enviado para a caixa de correio tclicense@beckhoff.com . Por vezes em vez de obtermos esse
ficheiro, em reposta, é-nos enviado uma notificação de erros como mostra a figura seguinte.

As causas desses erros são diversas. A lista seguinte apresenta alguns erros e como os podemos eliminar.

[asaTek / J.Andril] 14
BRESIMAR AUTOMAÇÃO Capitulo I

 I-3 – Soluções para incompatibilidades e erros do software TwinCAT 3.1

I-3.1 – Habilitar a função INTEL VT-x


Em algumas máquinas, com SO de 64bit, em que instalamos o TwinCAT 3.1 podemos ter alguns problemas de
funcionamento do softPLC inerentes à configuração do BIOS do PC. Isso deve-se à configuração da função Tecnologia
de Virtualização Intel – VT-x existente no BIOS do IPC com o TwinCAT 3.1.

Esse erro é reportado quando executamos a ordem de Startup do runtime, do softPLC TwinCAR-XAR, em realtime.
As mensagens que surgem são as seguintes:

Na versão TwinCAT 3.1.4020 a janela é a seguinte:

[asaTek / J.Andril] 15
BRESIMAR AUTOMAÇÃO Capitulo I

É necessário executar o “Enable” da opção VT-X, no BIOS. Para executar essa operação no PC deverá inicia-lo.
Durante o processo de arranque carregue na tecla função F2 até que o ecrã do BIOS seja exibido. De seguida vá para
o submenu “Advanced” / “CPU Configuration”.

Vá para “Hyper-threading” / “Intel Virtualization Technology”

e selecione “Enabled”.

Para finalizar reinicie o PC clicando em “Save Changes and Reset”

[asaTek / J.Andril] 16
BRESIMAR AUTOMAÇÃO Capitulo I

Nas especificações do TwinCAT 3.1 é mencionado claramente que os sistemas operativos de 64bit deverão suportar
o serviço de “Intel Virtulization Tecnlogy – VT-x”, como podemos verificar na figura seguinte.

“- for x64CPU with Windows 64-bit OS, the VT-x CPU feature is mandatory and neeeds to be enabled in the BIOS”

Caso o seu PC não suporte, o serviço VT-x, existe uma outra solução alternativa. Essa alternativa passa por ativar
isoladamente um único core do microprocessador.

Clique na pasta “Real-Time” no comando “Set on target”.

Surgirá uma janela pop-up onde colocará em “Available (Windows/Other):” o nº de 1. De seguida clique em “Set” e
o PC será reiniciado.

Após o reiniciar do PC abra o TwinCAT 3.1 e clique no comando “Read from Target”. Verifique se existe, na janela
apresentada, somente um RT-CPU ativo e com o limite máximo de 100%.

Caso exista essa configuração a TASK, do RT-CPU do softPLC, encontra-se atribuída a 100% ao kernel do core 3 da
CPU. O erro anterior deverá ser eliminado.

[asaTek / J.Andril] 17
BRESIMAR AUTOMAÇÃO Capitulo I

I-3.2 – Erro de arranque do real-time com Windows 10 / 64bit


Em algumas máquinas, com SO Windows 10 de 64bit, em que instalamos o TwinCAT v3.1 podem surgir alguns
problemas de funcionamento do softPLC no arranque do real-time. Neste caso deverá seguir o mesmo
procedimento, anteriormente descrito, no que se refere a isolar o processamento num único core da CPU.

[asaTek / J.Andril] 18
BRESIMAR AUTOMAÇÃO Capitulo I

I-3.3 – Erro de arranque do real-time com Windows 8 / 64bit


Em algumas máquinas, com SO Windows 8 de 64bit, em que instalamos o TwinCAT v3.1 podem surgir alguns
problemas de funcionamento do softPLC no arranque do real-time. Esse erro é reportado por “system clock setup
fails”.

Neste caso deverá abrir e correr um programa batch residente no PC com TwinCAT (XAR). Esse programa está
localizado na seguinte pasta C:\TwinCAT\3.1\System\win8settick.bat . De seguida reinicie o PC.

I-3.4 – Incompatibilidade do TwinCAT 3.1 com Windows XP


A nova versão TwinCAT3.1.4020 não pode ser instalada nos sistemas operativos Windows XP. Isso deve-se a que
este sistema operativo suporta o NET4.0 e a versão TC3.1.4020 vem com o VS2013 shell. Esta versão do VS2013
necessita do NET4.5. Neste caso recomendamos atualizar o sistema operativo para Windows 7 ou superior, se
possível.

Caso não seja possível a atualização do sistema operativo, a outra alternativa, é continuar a usar o sistema operativo
Windows XP e descarregar o VS2010 shell do site da Microsoft. De seguida instale o TC3.1.4020 usando a plataforma
Visual Studio 2010 shell.

I-3.5 – Erro de instalação (“Error 1406”)

Este erro deve-se à existência de software antivírus que inibe a instalação do TwinCAT 3.1. Neste caso deverá, antes
da instalação, desativar o software antivírus e se possível a firewall (não é obrigatório).

[asaTek / J.Andril] 19
BRESIMAR AUTOMAÇÃO Capitulo I

I-3.6 – Erro de não abertura de “porta” (“Error 0x748”)


No TwinCAT 3.1 poderá surgir um erro de abertura de porta quando do arranque do “TwinCAT PLC Control”.

A solução é reinstalar o TwinCAT 3.1.

I-3.7 – Falha da pagina inicial do TwinCAT 3.1 (“Start Page”)


Quando o software TwinCAT 3.1 (XAE) é iniciado deverá apresentar uma pagina principal (“Start Page”). Por vezes,
quando inicializamos o software, essa pagina não é apresentada e é mostrada uma janela de aviso de erro.

O motivo é a ausência, no seu PC, dessa pagina na pasta “Documents”. Essa pagina tem o formato xml e tem o nome
“TcXaeStartPage.3.1.xaml”. Caso tenha uma copia, em outro PC, pode copia-la e coloca-la na pasta
“\Libraries\Documents\Visual Studio 2013 \ StartPages”.

[asaTek / J.Andril] 20
BRESIMAR AUTOMAÇÃO Capitulo I

I-3.8 – Simultaneidade do softPLC TwinCAT (XAR) v2 e v3 no mesmo PC


É possível em PCs com Sistemas Operativos de 32bit instalar o softPLC TwinCAT (XAR) v2 e v3. O único requisito é
não poder “correr” as duas versões ao mesmo tempo. Teremos de optar por qual das versões do softPLC queremos
em funcionamento. Existe uma aplicação informática que nos permite comutar de uma versão para a outra e que
tem o nome de “TcSwitchRuntime”. É instalada automaticamente quando da instalação do TwinCAT 3.1.

I-3.9 – Alinhamento de dados consistentes no TwinCAT 3.1


No TwinCAT v2 os dados eram alinhados por byte. Caso tenhamos de converter um programa feito em TwinCAT v2
para v3 temos de ter em conta que na versão 3, do TwinCAT, é diferente. Isso pode provocar, se não tivermos
conhecimento desse fato, problemas de funcionamento do algoritmo do programa.

No TwinCAT 3.1 o alinhamento de dados é feito com 8 bytes. Isto significa que temos dados consistentes num pacote
de 8 bytes.
[asaTek / J.Andril] 21
BRESIMAR AUTOMAÇÃO Capitulo I

Por exemplo:

[asaTek / J.Andril] 22
BRESIMAR AUTOMAÇÃO Capitulo II

II – TwinCAT 3.1 - IO
Visão geral da aplicação TwinCAT 3.1 IO
Para os utilizadores que estão habituados a programar no TwinCAT v2 existe
uma aplicação informática, separada do editor de programa PLC Control,
designada de System Manager. Esta aplicação serve para configurar o IO´s
(Inputs/Outputs) do hardware utilizado no projeto de automação.

No TwinCAT 3 o configurador de hardware encontra-se integrado na mesma


plataforma do editor de programa TwinCAT 3.1 (XAE) e designa-se por
TwinCAT IO.

O TwinCAT IO vai permitir fazer o varrimento do hardware colocado no


“terreno” e deteta-lo de uma forma automática, evitando assim erros de
configuração. Na pasta IO encontrará posteriormente todos os drives
(representados por icons com o nome “Term x”) do hardware encontrado.

Nos capítulos seguintes iremos explicar os procedimentos necessários para configurar os IO’s, do hardware
encontrado no controlador remoto, com o software TwinCAT 3.1.

 II-1 – Comunicação com o controlador “target”

Ligue-se ao seu controlador IPC / EPC-CX, através de uma ligação Ethernet, usando um cabo com ficha RJ45.
De seguida inicialize o editor de projeto TwinCAT 3.1 (XAE) e crie um novo projeto.
Para efetuar esse passo clique em “New TwinCAT Project…” ou na barra de comandos clique em “File”/”New”.

De seguida, na pasta “TwinCAT Project”, selecione no template “TwinCAT XAE Project (XML format)”. Caso pretenda,
poderá alterar o nome do projeto “TwinCAT Project1”. Defina o caminho (“Location”) onde pretende guardar o
projeto (“Solution name”) escrevendo ou usando o comando “Browse…”.

[asaTek / J.Andril] 23
BRESIMAR AUTOMAÇÃO Capitulo II

Criado o projeto abra a pasta “SYSTEM” e clique em “Choose Target”.

De seguida surgirá uma janela pop-up. Selecione o botão de comando “Search (Ethernet)”.

[asaTek / J.Andril] 24
BRESIMAR AUTOMAÇÃO Capitulo II

Clique no botão de comando “Broadcast Search” para iniciar o varrimento (“scan”) dos controladores existentes no
“terreno” (“target”). Se souber o endereço IP do controlador “target” poderá inseri-lo na janela “Enter Host Name
/ IP :” e de seguida carregue na tecla “Enter”.

Após a execução deverá aparecer, na janela inferior, toda a informação do controlador “target”. No exemplo temos
a seguinte informação:

Host Name : CP-0C5DFA  Nome do controlador do CX, IPC ou CP

Connected : x  “x” indica que foi efetuada a ligação

Address : 169.254.162.186  Endereço IP do controlador remoto (“target”)

AMS NetID : 169.254.163.186.1.1  Endereço do protocolo de comunicação AMS

TwinCAT : 3.1.4018  Indicação da versão do TC3 instalada no controlador

OS Version : Windows 7  Versão do Sistema Operativo instalado (CE, WinXP, Win7)

De seguida escolha o controlador com que pretende trabalhar e clique no botão de comando “Add Route”.

[asaTek / J.Andril] 25
BRESIMAR AUTOMAÇÃO Capitulo II

Poderá registar o controlador no “router virtual” por nome “Host Name” ou por endereço IP “IP Address”.

Para registar o controlador no “router virtual” terá de colocar o “User name : ” e a “Password :”.

Nos controladores, dependendo do Sistema Operativo, temos os seguintes valores “vindos de fabrica”:

Windows XP / 7  User name : Administrator ; Password : 1

Windows CE  User name : (não tem) ; Password : (não tem)

[asaTek / J.Andril] 26
BRESIMAR AUTOMAÇÃO Capitulo II

Após a execução da tarefa anterior de registo, com sucesso, deverá aparecer na coluna “Connected” o simbolo “X”.

Feche a janela para voltarmos à forma anterior.

Deverá aparecer na lista o controlador registado anteriormente. Selecione-o clicando em cima do nome e de seguida

clique em “OK”. Na barra de comandos, do editor de programa TwinCAT 3.1 (XAE), deverá aparecer o controlador
“target” selecionado.

Clique, na mesma barra de comandos anterior, no icon do TwinCAT (cor azul) para colocarmos o softPLC TwinCAT
(XAR) em modo de configuração (“Config Mode”). De seguida clique em “OK”.

[asaTek / J.Andril] 27
BRESIMAR AUTOMAÇÃO Capitulo II

 II-2 – Configuração dos IO´s (“hardware”)


Após comunicação e registo do controlador “target” deverá dar inicio ao varrimento (“scan”) do hardware IO´s
(Inputs/Outputs) existente no controlador “target”.

Execute o comando “Scan” para iniciar o processo de varrimento. Surgirá um pop-up informativo a alertar que o
processo automático, de deteção de hardware, poderá não encontrar todos equipamentos. Clique em “OK”.

Após a execução do “scan” selecione os “devices” pretendidos para trabalhar no controlador “target”. Surgirão
janelas pop-up informativas em que deverá clicar em “Yes”.

Finalizado o processo de “scan” deverá surgir na pasta I/O, do editor TwinCAT 3.1 (XAE), a seguinte “árvore” com o
hardware detetado no controlador “target”.

[asaTek / J.Andril] 28
BRESIMAR AUTOMAÇÃO Capitulo II

É possível manualmente configurar (adicionar/remover) novos componentes na “árvore” anterior. O procedimento


é colocar o rato em cima do icon “I/O” / “Devices” e selecionar “Add New Item”, com a tecla direita. Coloque o drive
EtherCAT Master ( “EtherCAT” / “EtherCAT Master” ) .

De seguida, em cima de “Device 1 (EtherCAT)”e com a tecla direita do rato, selecione em “Add New Item…”. Da lista
apresentada deverá selecionar, na pasta “System Couplers”, o drive “ EK1100 EtherCAT Coupler (2A E-Bus)”.

[asaTek / J.Andril] 29
BRESIMAR AUTOMAÇÃO Capitulo II

O passo seguinte é colocar cartas de entradas e saídas e uma porta de expansão. No icon “Term1 (EK1100)”, com a
tecla direita do rato, selecione o comando “Add New Item”. Selecione a carta de entradas digitais “Digital Input
Terminals (EL1xxx)”  “EL1004”.

Com o mesmo método anterior, adicione uma carta de saídas digitais e uma porta EtherCAT de expansão. Selecione
a carta de entradas digitais em “Digital Output Terminals (EL2xxx)”  “EL2024”e em “System Terminals” 
“EK1110 EtherCAT extension” uma carta com uma porta EtherCAT.

Se de seguida registarmos e ativarmos no TwinCAT (XAR), esta configuração, deverá surgir uma janela com uma
informação de erro. Isto deve-se a que a porta da rede EtherCAT não se encontra configurada.
[asaTek / J.Andril] 30
BRESIMAR AUTOMAÇÃO Capitulo II

Para configurar esta porta “Device 1 (EtherCAT)” selecione a segunda sub-pasta “Adapter”. No campo “PCI Bus/Slot”
clique o comando “Search”.

Deverá surgir uma janela pop-up onde deve escolher o device “PCI Bus/Slot 4/0,Slot 7 (0xF0020000)”.

Após a colocação, na janela “PCI Bus/Slot:”, do device selecionado poderá ativar a configuração no TwinCAT (XAR).

[asaTek / J.Andril] 31
BRESIMAR AUTOMAÇÃO Capitulo II

Os dados finais, após a ativação, deverão ser os seguintes:

 II-3 – Linkagens dos IO´s (“software”)


Após a definição do hardware existente no controlador “target” teremos de executar o programa de automação que
posteriormente será “descarregado” (“download”) para o softPLC TwinCAT 3.1.

Para iniciarmos a execução de um novo projeto teremos de selecionar no icon “PLC”, com a tecla direita do rato, o
comando “Add New Item…”.

Selecione o template “Standard PLC Project” e atribua ao projeto um nome (ex. “test”).

[asaTek / J.Andril] 32
BRESIMAR AUTOMAÇÃO Capitulo II

Na pasta “POUs” deverá clicar, duas vezes seguidas, em “MAIN”. De seguida poderá dar início à escrita do programa
do automatismo em ST (“Structured Text”).

Após a finalização do programa deverá compila-lo. Para isso deverá ir para a pasta “test Project” e com a tecla direita
selecione o comando “Build”.

O sistema automaticamente compila o programa para “código máquina”. Se não houver erros de compilação, na
janela inferior do editor de programa TwinCAT 3.1 (XAE), deverá surgir a seguinte mensagem “Build complete – 0
errors, 0 warnings : ready for download”.

[asaTek / J.Andril] 33
BRESIMAR AUTOMAÇÃO Capitulo II

Para começar a executar as linkagens entre as variáveis IO´s do programa (software) e os IO´s físicos (hardware)
clique na pasta “test Instance”.

Deverá colocar cada variável em cada um dos IO´s das respetivas cartas (hardware).

[asaTek / J.Andril] 34
BRESIMAR AUTOMAÇÃO Capitulo II

Depois das variáveis linkadas deverá registar, essa configuração, no SoftPLC TwinCAT 3.1 (XAR). Execute o comando
“Activate Configuration” na pasta “TwinCAT” da barra de comandos.

Surgirá uma janela pop-up de informação. Clique em “OK”.

Se surgir uma janela pop-up a informar que é necessária uma licença e se a não possuir poderá gerar uma licença
temporária de 7 dias (trial license). Clique em “Yes”. Copie os 5 dígitos apresentados na janela de cima e de seguida
clique em “OK”.

Coloque o softPLC TwinCAT 3.1 (XAR) em modo RUN clicando em “OK”.

“Descarregue” o programa (“download”) para o softPLC TwinCAT 3.1 “target”. Clique na barra de comandos em
“Login”.

[asaTek / J.Andril] 35
BRESIMAR AUTOMAÇÃO Capitulo II

Na janela pop-up de informação, que surgir, clique em “Yes”.

De seguida ponha o programa, “descarregado” anteriormente, a “correr”. Clique no botão “Start (F5)”.

A partir deste momento poderá monitorizar os dados em “online”.

[asaTek / J.Andril] 36
BRESIMAR AUTOMAÇÃO Capitulo III

III – TwinCAT 3.1 - PLC


Visão geral da aplicação TwinCAT 3.1 PLC
Na versão 2 do TwinCAT o editor de programa é designado por PLC
Control e é separado do configurador de hardware System Manager. Na
nova versão 3 do TwinCAT estas duas aplicações estão incorporadas na
mesma plataforma informática.

A programação no TwinCAT 3 é baseada na norma IEC-61131-3.

Esta norma veio permitir a uniformização das linguagens de


programação de PLC´s. Anteriormente cada fabricante criava a sua
própria linguagem de programação, para os seus equipamentos, o que
dificultava a sua uniformização. Assim o estagio de adaptação a uma
nova linguagem deixa de existir, poupando assim recursos e tempo.

A norma disponibiliza, para o desenvolvimento das unidades de


programa (POU´s), diversos tipos de linguagens.

Podemos dividir as linguagens em dois grupos:

Linguagens em modo Texto

“Structured Text” (ST) e “Instruction List” (IL)

Linguagens em modo gráfico

“Continuous Function Chart” (CFC); “Function Block Diagram” (FBD)

“Ladder Logic Diagram” (LD); “Sequential Function Chart” (SFC)

A escolha estará sempre dependente do programador, embora se


recomende alguns tipos de linguagem de programação para cada tipo de automatismos.

Em projetos que tenha uma componente de automatismos electropneumáticos a melhor opção de programação é a
linguagem Ladder (LD) ou a linguagem GRAFCET (SFC). Isto deve-se que a que as linguagens gráficas permitem mais
facilmente, à equipa de manutenção, a deteção de avarias na instrumentação e nos acionamentos. Nas partes do
projeto em que é necessário tratar, calcular e movimentar dados a melhor opção é a utilização de linguagem
estruturada ( ST).

Nota-se muitas vezes a origem dos programadores e a respetiva “escola”. Geralmente os programadores de empresas
Alemãs optam pelas linguagens FBD e ST. As empesas Americanas o Ladder e as Francesas o GRAFCET (SFC).

 III-1 – Introdução à norma IEC 61131-3

III-1.1 – Tipo de dados standard

Na norma IEC-61131-3 todas variáveis terão de ser declaradas com um tipo de dado standard ou um tipo de dado
complexo. Os tipos de dados standard permitidos são os representados na tabela seguinte:

Tipo de dado Valor Max. Valor Min. Tamanho


BOOL False True 1 bit
BYTE 0 255 8 bit
WORD 0 65535 16 bit
DWORD 0 4294967295 32 bit
SINT -127 127 8 bit
USINT 0 255 8 bit
INT -32768 32767 16 bit
[asaTek / J.Andril] 37
BRESIMAR AUTOMAÇÃO Capitulo III

UINT 0 65535 16 bit


DINT -2147483648 2147483647 32 bit
UDINT 0 4294967295 32 bit
LINT -263 263-1 64 bit
ULINT 0 264-1 64 bit
TIME_OF_DAY TOD#00:00:00 TOD#23:59:59 32 bit
DATE D#1970-01-01 D#2106-02-07 32 bit
DATE_AND_TIME DT#1970-01-01- DT#2106-02-07- 32 bit
00:00:00 06:28:15
TIME T#0s T#49D17H2M47S295MS 32 bit
REAL -3.4*10 38 3.4*1038 32 bit
LREAL -1.7*10 308 1.7*10 308 64 bit
STRING São dados ASCII. Cada carater ocupa um BYTE. A dimensão
máxima é de 255 caracteres.
WSTRING São dados UNICODE. Permite carateres em chinês, japonês,
árabe, etc. Cada carater ocupa dois BYTES. Não há dimensão
máxima para a string.

No TwinCAT 3 o tipo de dados mais comuns são representados da seguinte forma :

Tipo variável Exemplo


BOOL True 2#1 16#1 1
False 2#0 16#0 0
WORD 2#1010111111111110 16#AFFE 45054
INT 2#1000000000000001 16#8001 -32768
TIME T#1h T#60m T#3600000ms
D Dia
H Horas T#0.5 T#12h T#43200000ms
M Minutos
S Seg. T#30m18s90ms T#0.505025h T#1818090ms
mS mS
REAL 0.3333 3.333e-1

As variáveis declaradas são para ser utilizadas dentro dos programas (POU´s). Poderão ser declaradas como LOCAIS
ou GLOBAIS.

[asaTek / J.Andril] 38
BRESIMAR AUTOMAÇÃO Capitulo III

Podemos também declarar variáveis com o tipo de dados complexos. É o caso dos ARRAY, STRUCTURE,
ENUMERATION, etc.

O ARRAY é representado por “ARRAY [0..n] OF data_type”. No exemplo seguinte apresentamos a declaração de
variáveis ARRAY com diversos tipos de dados.

Caso necessitemos de controlar a violação dos limites do ARRAY (ex: b: ARRAY [0..90] OF INT), inferior a 0 e superior
a 90, podemos usar a Função Checkbound para controlar e corrigir esses desvios.

Esta Função é muito simples de utilizar e deverá sempre ser usada nos programas, como “POU for Implicit Checks..”,
para controlar o índex dos ARRAY´s.

Todas as variáveis quando declaradas, alem de cumprir regras de sintaxe, poderão também ser alocadas a endereços
absolutos (%I* , %Q* ou %M*). Esses endereços absolutos de memória correspondem a entradas físicas (Inputs -
%I), saídas físicas (Outputs - %Q) ou posições de memória fixas (%M).

O sinal “*” significa que não estamos a indicar o endereço real, mas um endereço que será atribuído
automaticamente pelo software TwinCAT 3, posteriormente. Caso saibamos o endereço real absoluto dos inputs ou
dos outputs poderá declara-lo como mostra a figura seguinte.

[asaTek / J.Andril] 39
BRESIMAR AUTOMAÇÃO Capitulo III

O endereço poderá ser representado por “X”  BOOL ou “B”  BYTE ou “W”  WORD ou “D”  DWORD.

Todas as variáveis terão de ser declaradas como LOCAIS (só manuseáveis no POU em que foi declarada) ou GLOBAIS
(manuseáveis em todos os POU´s do projeto).

Existem campos predefinidos quando se cria um POU. Esses campos, de variáveis declaradas, dos POU´s são
representados pelas seguintes palavra-chave:

// Variáveis de Entrada

VAR_INPUT   END_VAR

// Variáveis de Saída

VAR_OUTPUT   END_VAR

// Variáveis de Entrada e Saída

VAR_IN_OUT   END_VAR

// Variáveis Locais

VAR   END_VAR

As variáveis GLOBAIS terão de ser declaradas na pasta com a designação GVLs (“Global Variable List”). Clique em
cima dessa pasta com a tecla direita do rato e de seguida escolha em “Add” o comando “Global Variable List…”.

[asaTek / J.Andril] 40
BRESIMAR AUTOMAÇÃO Capitulo III

A partir na versão TwinCAT v3.1.4020 as variáveis globais são automaticamente indexadas ao nome atribuído ao
GVL´s. Isto significa que deveremos identificar essas variáveis por esse atributo.

Por exemplo: GVL.a, GVL.b, GVL.c

Caso não pretenda utilizar este método é possível apagar essa propriedade [ {atribute ‘qualified_only’} ]
apresentada na 1º linha da pasta das variáveis globais GVLs.

III-1.1.1 – Variáveis Constantes


Caso pretendamos declarar uma variável com uma constante e que não seja afetada por um corte de energia ao PLC
podemos declará-la como CONSTANT. Está variável, após a compilação, só permite a sua leitura e nunca permitirá
escrita em online. A sua alteração só será possível após a edição / compilação do programa e atualização no PLC
(download).

III-1.1.2 – Variáveis Retentivas


Em muitas situações de construção de máquinas industrias necessitamos guardar parâmetros de máquina que terão
os valores de defeito do funcionamento das mesmas. Estes dados não podem ser voláteis. Isto significa, se ocorrer
um corte de energia ao PLC, estes valores não se podem perder.

Essas variáveis serão declaradas como PERSISTENT .

Existem Funções Bloco que automaticamente executam o backup desses dados na memória (flash ou disco duro)
antes do corte de energia. Para evitar falhas de dados recomenda-se que os PLCs tenham uma UPS externa ou
interna ( supercondensador de 1s).

A Função Bloco utilizada é a FB_WritePersistentData que se encontra na livraria Tc2_Utilities.Lib.

As variáveis retentivas terão de ser declaradas, no campo das variáveis, como VAR_PERSISTENT.

[asaTek / J.Andril] 41
BRESIMAR AUTOMAÇÃO Capitulo III

III-1.2 – Tipo de dados complexos

Alem do tipo de dados standard, apresentados no capitulo anterior, a norma IEC-61131-3 permite declarar variáveis
com outro tipo de dados. Esses dados são designados de complexos.

Esses dados são declarados como DTUs (“Data Unit Type”) e deverão ser declarados dentro de uma estrutura com
os limites definidos pelas palavras-chave TYPE e END_TYPE. Os tipos de dados complexos disponíveis na norma são
STRUCTURE, ENUMERATION, ALIAS e UNION.

Clique em cima da pasta DTU´s, com a tecla direita do rato, e de seguida escolha o comando “Add” / “DTUs”.

De seguida deverá surgir a janela em que escolhe o tipo de dado complexo pretendido.

III-1.2.1 – DUTs do tipo “Structure”


STRUCTURE é um tipo de dados definido pelo utilizador (DUT). São uma importante ajuda na gestão de dados.
As estruturas, do tipo de dado STRUCTURE, permitem construir base de dados com diversos elementos de tipo
de dados diferentes incluindo outras STRUCTURE. As STRUCTURE são usadas tal como uma variável de um único
elemento.

Sintaxe:

TYPE <Identificador>:
STRUCT
<Nome_variavel_0> : <Tipo_dado>;
<Nome_Variavel_1> : <Tipo_dado>;
<Nome_Variavel_n> : <Tipo_dado>;
END_STRUCT
END_TYPE
[asaTek / J.Andril] 42
BRESIMAR AUTOMAÇÃO Capitulo III

Exemplo:

III-1.2.2 – DUT do tipo “Enumeration”


ENUMERATION é um tipo de dados definido pelo utilizador (DUT). É composto por constantes (números inteiros)
referenciados a um nome “string”. Essas constantes são designadas por enumeração. Os valores de enumeração
são reconhecidos em todas as áreas do projeto mesmo se elas foram declaradas localmente dentro do POU. As
enumerações são declaradas como objetos na pasta DUTs.

Com a utilização de variáveis do tipo ENUMERATION permite-nos uma leitura clara e fácil do funcionamento do
programa desenvolvido. Como cada nome “string”, declarada na ENUMERATION, deve ter um significado
funcional no algoritmo serve-nos como comentário visível tambem em modo online. Se tivéssemos de usar
constantes inteiras, em vez de ENUMERATION, a interpretação do algoritmo era mais difícil.

Sintaxe:

TYPE <Identificador>:
<Enum_0>,<Enum_1>…<Enum_n>;
END_TYPE

Podemos usar o mesmo nome de enumeração ( <Enum_x> ), com constantes diferentes, desde que sejam
declaradas em identificadores de enumeração diferentes.

Exemplo:

(*Dentro da pasta “DTUs”*)


TYPE Dia_semana:
(Seg,Ter,Qua,Qui,Sex,Sab,Dom:=10); (*Seg=0…Sab=5 e Dom = 10*)
END_TYPE

TYPE Fim_semana:
(Sabado, Dom); (*Sabado = 0 Dom = 1*)
END_TYPE

III-1.2.3 – DUT do tipo “Alias”


Podemos usar o tipo ALIAS quando desejamos criar um nome alternativo para uma variável, constante ou Função
Bloco (FB). Assim criamos um novo tipo de dado.

Sintaxe:

TYPE <Identificador>:
<Tipo_de_dado>;
END_TYPE
Exemplo:

(*Dentro da pasta “DTUs”*)


TYPE Mensagem:
STRING(90);
END_TYPE

[asaTek / J.Andril] 43
BRESIMAR AUTOMAÇÃO Capitulo III

III-1.2.4 – DUT do tipo “Union”


Usamos o tipo UNION quando desejamos criar um tipo de dado, definido pelo utilizador (DUT), com a mesma
configuração de dados do tipo STRUCTURES. Ao contrário das STRUCTURES, os dados definidos como UNION, irão
ficar localizados sempre nos mesmos endereços absolutos (offset) na área de memória RAM. Esse endereço absoluto
não varia e é independente da compilação do programa (“Rebuild”).

Sintaxe:

TYPE <Identificador>:
UNION
<Nome_variavel_0> : <Tipo_dado>;
<Nome_Variavel_1> : <Tipo_dado>;
<Nome_Variavel_n> : <Tipo_dado>;
END_UNION
END_TYPE
Exemplo:

Em vez de utilizarmos uma UNION podíamos endereçar as mesmas variáveis a endereços absolutos do tipo %M.
Neste caso, tal como nas UNION, as variáveis irão ficar localizados sempre nos mesmos endereços absolutos.

III-1.3 – Tipo de Unidade de Organização de Programa (POUs)


Na norma IEC61131-3 existem 3 tipos de POUs (“Program Organization Unit”) “Program” (PRG); “Function Block”
(FB) e “Function” (FUN).

[asaTek / J.Andril] 44
BRESIMAR AUTOMAÇÃO Capitulo III

III-1.3.1 – Programas “Program” (PRG)


O programa principal, por defeito, tem o nome de “MAIN” e é do tipo “Program” (PRG). Este programa MAIN é
inicializado por uma tarefa temporal (“Task”).

Os programas “Program” (PRG) tem as seguintes características:


 Os programas PRG podem chamar FBs, FUNs e outros PRGs
 Podem usar variáveis de entrada VAR_INPUT
 Podem usar variáveis de saída VAR_OUTPUT
 Podem usar variáveis de transferência VAR_IN_OUT
 Podem usar variáveis locais VAR estáticas (disponíveis no próximo ciclo)
 Os dados locais são visíveis em modo online

III-1.3.2 – Programas “Function Block” (FB)


Os programas “Function Block” (FB) tem as seguintes características:
 Os programas FB podem chamar FBs e FUNs
 Podem usar variáveis de entrada VAR_INPUT
 Podem usar variáveis de saída VAR_OUTPUT
 Podem usar variáveis de transferência VAR_IN_OUT
 Podem usar variáveis locais VAR estáticas (disponíveis no próximo ciclo)
 Em múltiplas chamadas (instancias) cada FB guarda as suas variáveis em
áreas de memória RAM diferentes
 Os dados locais são visíveis em modo online em cada instancia

III-1.3.3 – Programas “Function” (FUN)


Os programas “Function” (FUN) tem as seguintes características:
 Os programas FUN podem chamar FUNs
 Podem usar variáveis de entrada VAR_INPUT
 Pode usar 1 variável de saída
 Não podem usar variáveis de transferência VAR_IN_OUT
 Variáveis locais temporárias não visíveis em online (???)

III-1.4 – Linguagens de programação


Todos os POUs, apresentados neste capitulo, poderão ser programados em diversos tipos de linguagem. Esses tipos
de linguagens dividem-se nos seguintes grupos funcionais:

 Linguagens em modo Texto


“Structured Text” (ST)
“Instruction List” (IL)
 Linguagens em modo gráfico
“Continuous Function Chart” (CFC)
“Function Block Diagram” (FBD)
“Ladder Logic Diagram” (LD)
“Sequencial Function Chart” (SFC)

A escolha estará sempre dependente do programador, embora se recomende alguns tipos de linguagem de
programação para cada tipo de automatismos.

Em projetos que tenha uma componente de automatismos eletropneumáticos, a melhor opção de programação é a
linguagem Ladder (LD) ou a linguagem GRAFCET (SFC). Isto deve-se que as linguagens gráficas permitem mais
facilmente, à equipa de manutenção, a deteção de avarias na instrumentação e nos acionamentos. Nas partes do
projeto em que é necessário tratar, calcular e movimentar dados a melhor opção é a utilização de linguagem
estruturada (ST).

[asaTek / J.Andril] 45
BRESIMAR AUTOMAÇÃO Capitulo III

Não cabe no âmbito deste Manual de Formação a explicação detalhada de cada uma destas linguagens. Todavia,
iremos de seguida explicar resumidamente a linguagem mais “apetecível” dos programadores modernos. A
linguagem estruturada designada por ST-“Structured Text”.

III-1.4.1 – Linguagem ST - “Structured Text”


A linguagem ST é uma linguagem em formato texto e parecida com a linguagem de alto nível PASCAL. A lista de
instruções em ST dividem-se em dois grandes grupos operacionais e que são os seguintes :

 Instruções de decisão

Simples decisão (IF….THEN….END_IF)

Dupla decisão (IF…THEN…ELSE…END_IF)

Múltipla decisão (IF…THEN…ELSIF…ELSIF…END_IF)

[asaTek / J.Andril] 46
BRESIMAR AUTOMAÇÃO Capitulo III

 Instruções de seleção

Multiseleção (CASE…OF…0:…1:…n:…ELSE…END_CASE)

 Instruções de loop

Loop com n ciclos fixos e controlo inicial (FOR…TO…BY…DO…END_FOR)

Loop com n ciclos variável e controlo inicial (WHILE…DO…END_WHILE)

[asaTek / J.Andril] 47
BRESIMAR AUTOMAÇÃO Capitulo III

Loop com n ciclos variável e controlo final (REPEAT…UNTIL…END_REPEAT)

Como exemplo, de um programa feito em estruturado (ST), temos o caso apresentado na figura seguinte.

[asaTek / J.Andril] 48
BRESIMAR AUTOMAÇÃO Capitulo III

 III-2 – Execução de um projeto para TwinCAT PLC v3.1

Neste capitulo, de uma maneira simples e concisa, iremos descrever os passos necessários para a execução de um
pequeno projeto a correr no TwinCAT PLC v3.1.

III-2.1 – Execução do programa

Abra um novo projeto no TwinCAT V3.1 clicando, com a tecla direita do rato, no icon PLC e de seguida no comando
“Add New Item…”.

Na janela pop-up atribua um nome ao seu projeto, selecione o template “Standard PLC Project” e clique no botão
de comando “Add”.

Automaticamente será criada, na pasta POUs, um programa PRG em linguagem estruturada (ST) com o nome MAIN.
Este programa é chamado por uma Task temporal.

[asaTek / J.Andril] 49
BRESIMAR AUTOMAÇÃO Capitulo III

Para adicionar novos POUs devemos clicar em cima do icon POUs com a tecla direita do rato e escolher o comando
“Add” / “ POU…”.

De seguida, neste projeto, iremos adicionar uma Função Bloco (FB) com o nome “FB_Flash” e em linguagem
estruturada (ST). Neste novo FB iremos, em primeiro lugar, declarar as variáveis de entrada (VAR_INPUT), as
variáveis de saída (VAR_OUTPUT) e as variáveis locais (VAR).

O modo de funcionamento pretendido para este FB é de um automatismo de “pisca pisca”. Para executar este modo
de funcionamento iremos usar um temporizador do tipo TON. A instancia desse temporizador é fb_Ton1.
Ao longo do desenvolvimento do programa poderá usar a tecla função F2 para escolher as instancias ou as variáveis.

[asaTek / J.Andril] 50
BRESIMAR AUTOMAÇÃO Capitulo III

O programa a escrever em estruturado (ST), na Função Bloco (FB), deverá ser o seguinte:

Para que este FB de nome FB_Flash corra é necessário, em primeiro lugar, instancia-lo no programa MAIN. O nome
dessa instancia é FB_Flash1.

Na primeira linha de texto do programa MAIN pressione na tecla função F2 e escolha, na pasta “Instance Calls”, a
instancia FB_Flash1 e clique em “OK”.

Parametrize as entradas da instancia (indicadas pelo símbolo := ) e as saídas (indicadas pelo símbolo => ).

De seguida coloque uma instrução de decisão dupla IF…ELSE…END_IF.

[asaTek / J.Andril] 51
BRESIMAR AUTOMAÇÃO Capitulo III

Uma vez o programa concluído daremos inicio à sua compilação (“build”). Clique , com a tecla direita do rato, em
cima do icon “SampleProject Project” e escolha o comando “Build”.

Após a compilação, sem erros, será apresentada na janela “Output” o seguinte relatório.

III-2.2 – Ativação do programa

Após a conclusão da compilação do projeto teremos de ativar a configuração no sistema. Para isso deverá fazer o
Login ao PLC target selecionado. Ao fazermos o Login o programa é descarregado para o softPLC residente no
controlador target. Para começar a correr o programa clique em “Start PLC”.

O Login só será permitido se o seu softPLC target estiver em modo RUN. Caso esteja em modo CONFIG (icon com
cor azul) deverá coloca-lo em modo RUN (icon cor verde)

Em modo online podemos monitorizar o programa a correr.

[asaTek / J.Andril] 52
BRESIMAR AUTOMAÇÃO Capitulo III

É possível modificar o tempo de “pisca pisca” em online. Por exemplo colocar 1s (T#1s) em vez de 3s.

Para efetuar esta alteração deverá dar ordem de escrita clicando, na barra de comandos, no seguinte icon :

III-2.3 – Debugging do programa


Por vezes é necessário fazer o debugging (deteção de erros na programação) do algoritmo do programa. O editor
de programa TwinCAT 3.1 fornece ferramentas para depurar falhas de algoritmo.

III-2.3.1 – Pontos de paragem (Breakpoint)


A ferramenta mais utilizada é o comando de breakpoint. Este comando vai permitir que o programa corra só até à
linha onde foi colocado. Para criar um breakpoint clique na linha pretendida e de seguida na tecla função F9. Irá
surgir nessa linha, com o fundo amarelo, um sinal vermelho (lado esquerdo da linha).

O programa poderá ser analisado e depurado passo a passo utilizando os seguintes comandos :

Se pretender parar o debugging clique na linha onde tinha colocado o comando breakpoint e pressione de novo na
tecla função F9. O sinal vermelho, colocado do lado esquerdo, desaparece permanecendo só o fundo amarelo.

De seguida acione o comando de “Start (F5)” e o programa correrá sem paragens.

[asaTek / J.Andril] 53
BRESIMAR AUTOMAÇÃO Capitulo III

III-2.3.2 – Monitorização do fluxo de código (Flow Control)


Outra técnica utilizada para depurar erros de algoritmo é usar o comando de controlo de fluxo (flow control) de
código. Permite-nos, de uma maneira colorida (cor verde), visualizar as partes de código que se encontram ativas.

Ao selecionar o comando “Flow Control”, na barra de ferramentas, surgirá uma janela pop-up informativa. Clique
em “OK”.

A partir deste momento as linhas de codigo, que estão ativas no programa, são assinaladas com uma cor de fundo
verde. As restantes com a cor de fundo branco. Assim, mais facilmente sabemos qual das linhas de código se
encontram ativas e a serem executadas.

Na mesma barra de ferramentas, ao lado do icon de “FlowControl”, existe um icon de “Single Cycle”. Cada vez que
clicarmos neste icon o programa corre um ciclo (um scanning de cada vez).

III-2.3.3 – Monitorização de multivariáveis (Watch 1 … 4)


Por vezes necessitamos visualizar simultaneamente diversas variáveis colocadas em blocos de programas separados.
Nesta situação podemos utilizar as janelas de “Watch 1”, “Watch 2”, “Watch 3” ou “Watch 4”.

Na barra de menus selecione no comando “PLC” / “Windows”. Tem disponíveis 4 opções de janelas de visualização.

Clique em uma delas.

[asaTek / J.Andril] 54
BRESIMAR AUTOMAÇÃO Capitulo III

Clique no campo da coluna “Expression”.

Escolha as variáveis que pretende visualizar em online. Poderá usar o “Input Assistant”

ou poderá escrever manualmente a variável pretendida.

Podemos monitorizar e alterar, em online, as duas variáveis na “Watch 1”.

[asaTek / J.Andril] 55
BRESIMAR AUTOMAÇÃO Capitulo III

[asaTek / J.Andril] 56
BRESIMAR AUTOMAÇÃO Capitulo IV

IV – TwinCAT 3.1 - HMI


Visão geral da aplicação TwinCAT 3.1 HMI
Na versão 2 do TwinCAT, o editor de Interface Homem Máquina é
designado por Visualization e está integrado no editor de programa
TwinCAT PLC Control. Na nova versão 3 do TwinCAT esta aplicação
encontra-se na pasta PLC e dentro da subpasta designada por VISUs.

Os diversos ecrãs de visualização, que pretendemos ter para


monitorizar ou manobrar o automatismo, serão criados e colocados
dentro da subpasta VISUs. Estes ecrãs poderão ser chamados
automaticamente através de ordens vindas do programa residente
no softPLC ou através de ordens do operador.

É possível utilizar estes ecrãs como uma HMI (“Human Machine


Interface”) stand-alone. Isto significa, caso tenhamos um ecrã touch
ligado à carta gráfica do PCe-CX, que podemos visualizar todo o
automatismo como se tivéssemos uma consola HMI. Neste caso não
necessitamos de ter o editor de projeto TwinCAT 3.1 (XAE) aberto.

Se a utilizarmos como ajuda à programação e integrada na


plataforma de desenvolvimento TwinCAT 3.1 (XAE) poderá utilizar
uma licença trial de 7 dias.

O TwinCAT 3.1 – VISUs disponibiliza uma vasta gama de símbolos


gráficos dinâmicos. Estes símbolos poderão ser utilizados na feitura
da HMI, no projeto de automação, não necessitando assim de
importar símbolos externos.

Nos capítulos seguintes iremos, passo a passo, explicar o modo de programação de uma Interface Homem Máquina
(HMI) para visualização de um processo integrado no TwinCAT softPLC 3.1.

 IV-1 – Programação do TwinCAT 3.1 HMI (Interface Homem Máquina)

IV-1.1 – Criar um projeto de visualização

Para criar um novo projeto de visualização teremos de clicar na pasta VISUs com a tecla direita do rato. De seguida
clique em “Add” e escolha o comando “Visualization…”.

[asaTek / J.Andril] 57
BRESIMAR AUTOMAÇÃO Capitulo IV

Atribua o nome “Visualization” a esse ecrã de visualização e depois clique em “Open”.

Nesta janela existe uma


opção de escolha com o
nome:

“VisuSymbols (System)”

Esta opção, caso seja


ativada, disponibiliza
uma livraria da Beckhoff
com uma vasta coleção
de símbolos.

Será carregada no
gestor de livrarias, do
projeto, “References”
diversas livrarias de
símbolos e que são
visíveis na “Toolbox
graphics controls”.

Após executar o comando anterior surgirá no editor de programa, na coluna do lado direito, uma subpasta designada
“Toolbox”. Nesta subpasta “Toolbox” estão guardados uma vasta lista de símbolos gráficos.

IV-1.2 – Desenho da visualização


IV-1.2.1 – Símbolos gráficos para valores digitais
Neste capitulo começamos por renomear o ecrã “Visualization” com o nome “Visu1”. De seguida damos inicio ao
desenho de uma simples HMI com 2 símbolos gráficos. Um botão e um sinalizador. Para podemos visualizar o seu
funcionamento teremos de escrever este pequeno programa no PLC.

[asaTek / J.Andril] 58
BRESIMAR AUTOMAÇÃO Capitulo IV

Após a execução do programa do PLC coloque no ecrã de visualização “visu1” um botão e de seguida um sinalizador.
Selecione, na coluna esquerda “Toolbox”, na pasta “Basic” a subpasta de símbolos “Lamps/Switches/Bitmaps”.
Escolha os símbolos “Dip switch” e “Lamp”. Arraste-os para o ecrã “Visu1”.

De seguida teremos de configurar cada um destes dois símbolos. Para isso teremos de recorrer a cada uma das
propriedades da “Lamp” e do “Dip switch”. Selecione com o rato o símbolo pretendido e verifique as suas
propriedades no submenu “Properties”.

Para conseguirmos que os símbolos do botão e do sinalizador tenham os seus estados dinâmicos, teremos de atribuir
a cada um deles uma variável do programa.

Teremos, no campo das propriedades “Variable”, escolher a variável booleana “input” que foi atribuída ao botão do
tipo “Dip switch” e a variável “output” atribuída ao sinalizador do tipo “Lamp”.

[asaTek / J.Andril] 59
BRESIMAR AUTOMAÇÃO Capitulo IV

Após a configuração das propriedades dos dois objetos colocados na HMI “visu1” compile o programa fazendo “Build
Solution”(não é obrigatório) e descarregue-o para o softPLC fazendo “Login”  “Run”.

O “Login” só será permitido se o seu softPLC target estiver em modo RUN. Caso esteja em modo
CONFIG (icon com cor azul) deverá coloca-lo em modo RUN (icon cor verde)

Clicando em cima do símbolo “Dip switch” o sinalizador deverá mudar de cor como indicam as figuras seguintes:

Em edição Em funcionamento

IV-1.2.2 – Símbolos gráficos para valores analógicos


Neste passo iremos colocar na HMI um objeto analógico. Esse objeto será escolhido na Toolbox (coluna do lado
direito do editor) na pasta de símbolos “Measurement Controls” o símbolo “Meter”. Arraste-o para o ecrã “Visu1”.

Em edição

Para podemos visualizar o seu funcionamento teremos de


escrever um pequeno programa no PLC, com o seguinte
código:

[asaTek / J.Andril] 60
BRESIMAR AUTOMAÇÃO Capitulo IV

De seguida teremos de configurar este símbolo analógico. Para isso teremos de selecionar com o rato o símbolo
“Meter” e de seguida recorra ao submenu das propriedades.

No campo das propriedades “Value” clique na parte direita da janela em branco. Deverá surgir uma janela pop-up
para selecionarmos a variável atribuída, no programa do PLC, a este símbolo analógico.

Após a escolha da variável daremos inicio à configuração dos limites funcionais de escala do “Meter”. Deverá na
propriedade “Scale” alterar 4 parâmetros. Substitua os valores de defeito pelos seguintes:

 “Scale start” = [0] 0 - Valor de início de escala do instrumento (mínimo)

 ”Scale end” = [100]  1000 - Valor de fim de escala do instrumento (máximo)

 ”Main scale” = [20]  200 - Traço maior das divisórias da régua de escala

”Sub scale” = [5]  50 - Traço menor das divisórias da régua de escala

Em funcionamento

Coloque, em cada umas das propriedades, os valores apresentados na figura anterior. Após essa configuração
descarregue o programa para o PLC clicando em “Login”  “Run”.

Na HMI poderá verificar, em online, a variação da variável MAIN.a do programa do PLC. A variação desse valor
analógico, no símbolo “Meter”, faz-se dentro da escala de 0.0 até 1000.0.

[asaTek / J.Andril] 61
BRESIMAR AUTOMAÇÃO Capitulo IV

IV-1.2.3 – Símbolos gráficos para carateres


Neste passo iremos colocar na HMI um objeto que possa visualizar carateres de qualquer formato (chineses,
arábicos, etc). Para podemos visualizar o seu funcionamento iremos escrever o seguinte programa no PLC.

No programa foi declarada a variável “arr1”, do tipo de dado WSTRING, com a frase inicial “BECKHOFF”. Na HMI
iremos colocar um objeto retangular. Para isso deverá na Toolbox (coluna do lado direito do editor) e na pasta de
símbolos “Basic” escolher o símbolo “Rectangle”. Arraste-o para o ecrã “Visu1”.

Em cima do retângulo será colocada uma etiqueta informativa. Na pasta “Common Controls”, da Toolbox,
escolhemos o símbolo “Label”. Arrastamos para cima do retângulo colocado na visualização “visu1”.
De seguida teremos de configurar o objeto “Rectangle” colocado na visualização. Clicamos nesse objeto e saltamos
para as suas propriedades (coluna esquerda “Properties”). Selecione a propriedade “Texts” e “Text variable” e
configure com os dados apresentados nas figuras seguintes:

Clique duas vezes na janela em branco da propriedade “Texts”/”Text” e escreva %s . De seguida clique duas vezes
na janela em branco da propriedade “Text variables”/” Text variable” e clique o comando existente
nessa janela. Deverá surgir uma janela pop-up com a lista de variáveis já declaradas no seu programa do PLC. Escolha
a variável “MAIN.arr1” do tipo wstring.

Como pretendemos que o objeto “Rectangle” seja sensível ao toque do rato, quando o colocamos em cima dele,
será necessário configurar a propriedade “Inputconfiguration” / “OnMouseDown”. Selecione e coloque a ação
“Write a Variable”.

[asaTek / J.Andril] 62
BRESIMAR AUTOMAÇÃO Capitulo IV

Uma vez selecionada a ação “Write a variable” escolha a opção “Use another variable” e clique em

Escolha, na janela pop-up que surgir, a variável do tipo wstring “arr1” e termine com “OK”.

A seguir teremos de configurar a etiqueta “Label” colocada em cima do retângulo. Clique nesse símbolo. Nas suas
propriedades “Texts”/”Text” escreva “string”. Outra opção é escrever, na janela em branco do símbolo, “Label”

Depois de efetuadas todas as configurações das propriedades dos objetos descarregue o programa para o PLC
clicando em “Login”  “Run”.

Estado inicial Clique no Input box

Nesta janela, como esta declarada uma variável do tipo wstring, aceita a escrita de carateres não nacionais tais como
carateres em chinês, árabe, etc.

[asaTek / J.Andril] 63
BRESIMAR AUTOMAÇÃO Capitulo IV

IV-1.2.4 – Comando de mudança de ecrãs


Na maioria dos projetos de visualização (HMI) não temos só um ecrã de visualização, mas sim diversos. Por isso é
necessário colocar comandos, nessas visualizações, que nos permita saltar entre ecrãs. Neste capitulo iremos
explicar o procedimento para concretizar essa tarefa. De seguida iremos criar um novo ecrã com o nome “visu2”. Na
pasta VISUs com o comando “Add”/”Visualization” atribua o nome “visu2” e clique em “Open”.

Uma vez criado o novo ecrã coloque um botão que vai permitir saltar para o ecrã anterior “visu1”. Clique na coluna
Toolbox e selecione “Button” que se encontra dentro da pasta “Common Controls”. Arraste-o para a visualização.

Selecione com o rato o símbolo gráfico “Button”. Altere as propriedades “Texts”/“Text” escrevendo “Go to viso2”.
Este texto, colocado no botão, é informativo para os operadores da HMI.

De seguida iremos configurar a ação a efetuar por este botão. Neste caso pretendemos saltar para o ecrã “visu1”.
Clique na propriedade “Inputconfiguration” e escolha a ação “OnMouseClick” na janela “Configure…”.

Deverá surgir uma janela pop-up para selecionarmos a ação pretendida para o botão anterior. Selecione a ação
“Change shown Visualization” e coloque-a na coluna esquerda dessa janela pop-up.

[asaTek / J.Andril] 64
BRESIMAR AUTOMAÇÃO Capitulo IV

Uma vez selecionada a ação “Change shown Visualization” escolha a opção “Assign” e clique em

Selecione a visualização “visu1” e cilque em “OK”. O mesmo passo terá de efetuar, no ecrã de visualização “visu1”,
de maneira a poder saltar para a visualização “visu2”. O botão de comando de salto é igual ao colocado e explicado
no ecrã “visu2”.

Depois de efetuadas todas as configurações das propriedades dos botões de comando, de salto de ecrãs,
descarregue o programa para o PLC clicando em “Login”  “Run”. Clique no botão de comando “Go to visu2” e o
ecrã seguinte deverá surgir no PC.

Se clicar, no ecrã “visu2”, no botão de comando “Go to visu1” voltará para o ecrã anterior.

[asaTek / J.Andril] 65
BRESIMAR AUTOMAÇÃO Capitulo IV

IV-1.2.5 – Display de lista de texto dinâmico


Neste capitulo iremos explicar como colocar num ecrã de visualização de uma HMI uma janela que nos permita ver
texto em modo dinâmico. Utiliza-se estes objetos dinâmicos para indicar o estado de funcionamento da máquina ou
mostrar alarmes de um processo.
Para podemos demonstrar o seu funcionamento iremos escrever o seguinte programa no PLC. No programa foi
declarada uma variável “iVar1” com o dado INT de “0”.

De seguida iremos criar uma lista de texto com os erros de processo que pretendemos reportar na HMI. Clique na
pasta VISU´s, com a tecla direita, em “Add” / “Text List…”.

Na janela pop-up que surgir escreva “ErrorList” como nome da lista de texto. Clique em “Open”.

Nesta lista de texto “ErrorList” comece a escrever a lista de erros, na coluna “Default”, indexado a um nº inteiro
(coluna “ID”).

Após a construção da “base de dados”, com uma lista de erros, teremos de criar um display que mostre em dinâmico
o estado ou o erro que a máquina apresenta. Para isso teremos de acrescentar, no ecrã “visu2”, um símbolo gráfico
do tipo retângulo. Clique na Toolbox em “Basic” / “Rectangle”.
[asaTek / J.Andril] 66
BRESIMAR AUTOMAÇÃO Capitulo IV

Após a colocação do símbolo gráfico, do tipo retângulo, clique na “Properties” desse objeto gráfico e configure a
propriedade “Dynamic texts”/“Text list”. Na janela em branco clique e escolha “ErrorList” como mostra a figura
seguinte:

Clique no comando existente na parte direita da janela em branco da propriedade “Text índex”. Deverá surgir
uma janela pop-up com a lista de variáveis declaradas no programa do PLC. Escolha a variável INT com o nome
“iVar1”. De seguida clique em “OK”.

Caso pretendamos alterar na HMI a variável INT “iVar1”, para assim visualizarmos a lista de erros, podemos colocar
no ecrã um comando gráfico do tipo “combo”. Para isso recorra à Toolbox e escolha o comando “Common Controls”
/ “SpinControl” e arraste-o para o ecrã “visu2”.

Clique neste novo objeto gráfico e configure a propriedade “Position” / “Variable” com a variável “MAIN.iVar1”.
De seguida clique em “OK”.

[asaTek / J.Andril] 67
BRESIMAR AUTOMAÇÃO Capitulo IV

Depois de efetuadas todas as configurações das propriedades dos objetos gráficos, colocados anteriormente,
descarregue o programa para o PLC clicando em “Login”  “Run”.

No ecrã “visu2” clique no símbolo de controlo “SpinControl” que mostra o nº inteiro “0” e altere para “2”.
Imediatamente o texto, apresentado no display de texto em cima, altera.

IV-1.2.6 – Comando multilingue


Cada vez mais os fabricantes de máquinas industriais exportam as suas máquinas e sistemas para diversos
continentes e países. Por essa razão há necessidade que as HMIs se apresentem no idioma do utilizador final. Existe
a possibilidade de criar uma “base de dados” (lista de texto) com a tradução multilingue de todas as frases e palavras
usadas na HMI.
Nesta capitulo iremos explicar como se processa essa configuração. Iremos começar pela criação da lista de texto
com os idiomas que pretendemos utilizar na nossa HMI. Na pasta VISUs selecione “GlobalTextList”

Clique duas vezes em “GlobalTextList”. Surgirá uma janela pop-up com o texto já escrito na HMI. Clique nessa janela,
com a tecla direita do rato. Escolha o comando “Add Language”.

[asaTek / J.Andril] 68
BRESIMAR AUTOMAÇÃO Capitulo IV

Escreva “Chinese” na janela do “Choose language” e clique em “OK”.

De imediato surgirá uma nova coluna, do lado direito da janela, com o titulo de “Chinese”.

De seguida crie uma nova coluna “English” seguindo os procedimentos anteriores.

Este procedimento também poderá ser feito para a “ErrorList”, configurada no capitulo 1.2.5.

Para podermos escolher o idioma, que pretendemos trabalhar na HMI, teremos de colocar no ecrã dois icons que
representem cada uma das línguas. Usaremos icons com os símbolos das bandeiras da China e a da UK. Para executar
esta operação vamos clicar na pasta VISUs e escolher a função “Image Pool…”.

[asaTek / J.Andril] 69
BRESIMAR AUTOMAÇÃO Capitulo IV

Surgirá uma janela pop-up, após clicar na função “Image Pool…”. Atribua o nome “ImagePool” e clique em “Open”.

Uma nova janela “ImagePool” surgirá no seu editor de programa. Clique, na 1º linha em branco da coluna “File
name”, no comando .

No pop-up que surge, de seguida, escolha as figuras pretendidas para representar cada um dos idiomas. No nosso
caso o Chinês e o Inglês. É possível escolher diversos tipos de formato de imagem, como mostra a figura seguinte.

Após a escolha das respetivas imagens clique em “OK”.

Após a execução das tarefas anteriores estamos prontos a colocar, no ecrã “visu1”, dois símbolos que permitam ao
operador escolher o idioma com que pretende trabalhar.

[asaTek / J.Andril] 70
BRESIMAR AUTOMAÇÃO Capitulo IV

Na coluna do lado direito “Toolbox” selecione, na pasta “Basic”, o símbolo “Image”. Arraste-o para o ecrã “visu1”.

Ao efetuarmos o arrasto do símbolo “Image”, para a área de trabalho do ecrã, surgirá automaticamente um pop-up
designado de “Input Assistant”. Devemos selecionar a categoria “Imagepool” e escolher a figura pretendida. De
seguida clique em “OK”.

[asaTek / J.Andril] 71
BRESIMAR AUTOMAÇÃO Capitulo IV

Após colocarmos as duas imagens, como mostra o ecrã anterior, devemos dar inicio à configuração destes dois
objetos de maneira a ficarem ativos ao toque do rato. Isto é, quando pretendermos alterar a língua apresentada na
HMI devemos clicar no símbolo com a bandeira da China ou da UK.

Clique na imagem da bandeira da China e de seguida na propriedade ”Inputconfiguration”/“OnMouseDown”. Clique


na janela que diz “Configure” e escolha “Change the language”. Depois escolha em “Language:” Chinese.

O mesmo procedimento terá de efetuar para a seleção da língua “English”.

Depois de efetuadas todas as configurações das propriedades dos objetos gráficos, colocados anteriormente,
descarregue o programa para o PLC clicando em “Login”  “Run”.

[asaTek / J.Andril] 72
BRESIMAR AUTOMAÇÃO Capitulo IV

 IV-2 – TwinCAT 3.1 HMI em stand-alone

Até este capitulo explicámos o modo de colocar e parametrizar diversos símbolos numa HMI e que se encontram
disponíveis na Toolbox. Uma vez completada a Interface Homem Máquina seria importante que a nossa Interface
fosse visível num ecrã em full-screen e em modo Run. Esta solução irá permitir substituir uma possível consola
gráfica, diminuindo assim os custos da automação. Utilizaremos a HMI desenvolvida na plataforma do TwinCAT 3.1
(XAE) em modo stand-alone.

IV-2.1 – TwinCAT 3.1 HMI em sistemas operativos Windows XP e 7

Nos casos de máquinas IPC ou EPCs/CX em que temos instalados sistemas operativos Windows XP ou 7 teremos de
efetuar alguns procedimentos para conseguirmos ter uma HMI em stand-alone.

Para criar uma HMI de arranque automático, quando a máquina inicializa, teremos de recorrer à pasta “Visualization
Manager”. Clique nessa pasta.

De seguida clique em “Add”/“TargetVisualization” e na janela pop-up termine com o comando “Open”.

Escolha qual o ecrã (“Start screen”) que pretende quando a máquina é inicializada (ex. “visu1”)

Clique nas propriedades do ecrã selecionado como “Start screen” (ex. “visu1”) e coloque um visto em “Expert”.

[asaTek / J.Andril] 73
BRESIMAR AUTOMAÇÃO Capitulo IV

Como se pretende que sejam visíveis os carateres chineses é necessário ativar a propriedade “Unicode”. Clique duas
vezes na pasta “Visualization Manager” e coloque um visto em “Use Unicode strings”.

Como a aplicação HMI runtime, a correr em IPC ou EPC-CX com o TwinCAT PLC 3.1, não é gratuita teremos de
comprar e ativar uma licença. Caso pretenda só utilizar como demonstração poderá gerar uma licença de 7 dias.

Depois de efetuadas as configurações anteriores ative as configurações clicando no icon “Active configuration”. De
seguida descarregue o programa para o PLC clicando em “Login”  “Run”.

Selecione a pasta C:\TwinCAT\3.1\Components\Plc\Tc3PlcHmi existente no IPC. Clique duas vezes no ficheiro


TcPlcHmi.ini. Este ficheiro contem as configurações de inicialização da HMI construída anteriormente.

Contem a seguinte informação:


AmsNetID : Endereço AMS do equipamento em que
correrá a HMI (127.0.0.1.1.1)
AmsPort : Porta do softPLC (851)
StartVisualization : Ecrã de inicialização (“start-up”)
UpdateRate(ms) : Tempo de update dos dados

De seguida, caso queira correr a HMI em modo stand-alone e não integrada no editor TwinCAT 3.1 (XAE) clique no
ficheiro Tc3PlcHmi.exe. Não poderá estar aberto, em simultâneo, o editor TC 3.1(XAE) (só é possível um cliente).

[asaTek / J.Andril] 74
BRESIMAR AUTOMAÇÃO Capitulo IV

A boa visualização da HMI do TwinCAT 3.1 está dependente do monitor e da sua resolução com que pretendemos
trabalhar. Por isso, muitas vezes, temos de configurar o ecrã para a resolução mais adequada.

Para executar esta configuração deverá clicar na coluna do lado esquerdo no ecrã inicial “Visualization”. De seguida,
na coluna do lado direito das “Properties” selecione a propriedade “Visualization”/“Size”/”Size mode” e escolha a
opção “Specified”.

Se pretendermos sair da HMI, em modo full-screen, pressione em Alt+F4.

IV-2.1.1 – Configuração do boot do TwinCAT 3.1 HMI (XP e Win 7)


Para que a HMI seja inicializada automaticamente, em full-screen, quando do arranque do IPC ou EPC é necessário
criar um atalho do ficheiro executável da HMI - Tc3PlcHmi.exe ( C:\ TwinCAT\ 3.1\ Components\ Plc\ Tc3PlcHmi\ )

e coloca-lo na pasta C:\ TwinCAT\ 3.1\ Target\ Startup\.

IV-2.2 – TwinCAT 3.1 HMI em sistemas operativos Windows CE

Nos casos de máquinas EPCs-CX em que temos instalados sistemas operativos Windows CE teremos de efetuar os
mesmos procedimentos feitos para máquinas com sistemas operativos Windows XP ou 7 (ver cap. IV.2.1).

De seguida, caso queira correr a HMI em modo stand-alone no controlador remoto com o Windows CE, clique no
ficheiro Tc3PlcHmi.exe . O procedimento, neste caso, é diferente dos equipamentos com sistemas operativos
Windows XP ou 7.

Deverá utilizar os comandos “Start”/“Run” e na janela branca do pop-up escreva “\”. De seguida clique em “OK”.
[asaTek / J.Andril] 75
BRESIMAR AUTOMAÇÃO Capitulo IV

Clique duas vezes no ficheiro executável Tc3PlcHmiCe7x86.exe, que se encontra no diretório \Hard Disk\ TwinCAT\
3.1\ Components\ Plc\ Tc3PlcHmi, para abrir a HMI em modo full-screen.

IV-2.2.1 – Problemas com o TwinCAT 3.1 HMI em full-screen com Windows CE


O sistema operativo Windows CE é um sistema operativo que não tem as características operacionais dos sistemas
mais evoluídos e robustos como o Windows XP, 7 ou posteriores. Consideramos um sistema operativo ligth e por
isso algumas vezes encontramos dificuldades funcionais quando utilizamos a HMI a correr em full-screen. De seguida
são apresentados alguns dos problemas que poderão surgir.

 1 - Ecrãs da HMI aparecem incompletos

Ecrã com falta de figuras Ecrã completo

Para corrigir este defeito deverá selecionar na HMI, para ambientes WinCE, em “Selected style” a
opção “Default, 3.0.0.0 (Beckhoff Automation GmbH)”.

[asaTek / J.Andril] 76
BRESIMAR AUTOMAÇÃO Capitulo IV

 2 - Ecrãs da HMI que não suportam cores em gradient


Nas HMI em ambientes WinCE os símbolos de controlo não suportam “Gradiant color” ,
“Transparancy”, nem “Optimized drawing”. Serão apresentados em formato normal.

 3 – Ecrãs com imagens em formato .jpg


Se numa HMI, a correr numa máquina com WinCE, não apareçem imagens em formato .jpg deve-se
a que os sistemas operativos WinCE não suportam este formato. Recomenda-se a substituição
dessas imagens pelo formato .bmp. A pasta de projeto com as imagens é a “Image Pool”/“Image”.

Ecrã com imagem em .JPG Ecrã com imagem em .BMP

 4 – Ecrãs não apresentam os carateres chineses


Se uma HMI, a correr numa máquina com WinCE, não consegue apresentar texto com carateres
chineses deve-se a que os SO´s WinCE não tem instalado a respetiva fonte de carateres.

Deverá instalar essa fonte de carateres, em falta, no diretório \Hard Disk\ do seu PC embedded com
o Sistema Operativo WinCE.

[asaTek / J.Andril] 77
BRESIMAR AUTOMAÇÃO Capitulo IV

Crie um diretório com o nome de “Fonts” em “Hard Disk\System”.

Copie as novas fontes de carateres para esse novo diretório.

De seguida registe, no sistema operativo, as novas fontes. Para isso clique duas vezes no ficheiro
de registry e de seguida “Yes”.

Faça o restart do sistema operativo clicando em “Yes”.

Após este procedimento deverão aparecer os carateres chineses, em falta.

[asaTek / J.Andril] 78
BRESIMAR AUTOMAÇÃO Capitulo IV

IV-2.2.2 – Configuração do boot do TwinCAT 3.1 HMI (Win CE)


Para que a HMI seja inicializada automaticamente em full-screen quando do arranque do EPC, com um sistema
operativo Windows CE, é necessário criar um ficheiro de start-up. Para isso deverá seguir os passos que explicarei
nos passos seguintes.

Abra a aplicação “Startup Manager” que se encontra no botão “Start”/”StartMan”. Clique em “OK”.

Na janela pop-up, que aparece, clique em “New”. De seguida, na janela “Add Item”, adicione o comando
“ShellCommand”.

Não coloque o nome em “Name”. Clique em “OK”.

[asaTek / J.Andril] 79
BRESIMAR AUTOMAÇÃO Capitulo IV

Na janela pop-up “Edit Item” e na subpasta “General” selecione, com um visto, no campo “Startup Options” as
opções “Autostart” e “Start Focused”. Não recomendamos colocar 0ms no campo “Delay(ms)”. Coloque 1000ms.

Na subpasta “Shell Command” e na janela “Enter Shell command” escreva o caminho “\hard Disk\ TwinCAT \ 3.1
\ Components\ Plc \Tc3PlcHmi\Tc3PlcHmiCE7x86.exe” e de seguida clique em “OK”.

Na janela pop-up “Beckhoff Startup Manager” surgirá, na 1ª linha, uma ação de tipo “Shell Command”.

[asaTek / J.Andril] 80
BRESIMAR AUTOMAÇÃO Capitulo IV

Clique, nessa janela pop-up, em “Save” para salvar as configurações anteriores e reiniciar o sistema.

Se no processo de reboot do sistema operativo surgir um erro, o sistema não o conseguiu arrancar com as
configurações anteriormente feitas. Será apresentada uma janela de aviso.

Verifique se não colocou um tempo de delay de 0ms ou o valor introduzido é baixo. Aumente esse tempo de delay.

 IV-3 – Gestão do acesso funcional ao TwinCAT 3.1 HMI

Neste capitulo daremos uma explicação breve como podemos gerir o acesso funcional à HMI em run-time ou a certos
ecrãs de visualização. A gestão de login permite definir níveis de controlo e de permissões a áreas da HMI ou de
comandos.

Na pasta da coluna esquerda designada por “Visualization Manager” temos diversas subpastas, entre as quais uma
designada por “User management”

É nesta pasta que podemos criar os grupos de utilizadores, os seus níveis de acesso e permissões. Clique em “Create
user management with default groups and users”. Uma vez criado esta configuração verificamos que foram criados,
por defeito, 3 grupos: “Admin”; “Service” e “Operator”.

[asaTek / J.Andril] 81
BRESIMAR AUTOMAÇÃO Capitulo IV

Clique na subpasta “Users” e verificará que também tem 3 utilizadores, de defeito, “Admin”; “Service”; “Operator”.

Em ambas subpastas podemos criar novos grupos de utilizadores, novos utilizadores, novas passwords, modificar
os login, etc.

Para testarmos estas funcionalidades vamos acrescentar no ecrã “visu1” dois comandos “Button”. Um com a função
de Login e outra com a função Logout.

Em ambos símbolos “Button” selecione a propriedade “Inputconfiguration”/“OnMouseClick”.

[asaTek / J.Andril] 82
BRESIMAR AUTOMAÇÃO Capitulo IV

Configure os botões, na função “User Management”, com a ação de “Login” e outro com a de “Logout”.

Podemos configurar diferentes controlos para diferentes permissões de acesso. Se pretendemos dar acesso só a
utilizadores do tipo “Admin” temos de selecionar nas propriedades “Background”/ “Access Rigths”.

Clique em “Access rigths”. Na janela pop-up que surgir configure as opções pretendidas, como mostra a figura
seguinte.

No caso de restringir o acesso, à seleção do idioma na HMI (“English” ou “Chinese”), aos utilizadores que estejam
nos grupos “Service” e “Operator” deverá por um visto na coluna de “invisible” nesses dois grupos. Neste caso os
símbolos, com as bandeiras da China e da UK, não ficam visíveis aos utilizadores destes dois grupos.

[asaTek / J.Andril] 83
BRESIMAR AUTOMAÇÃO Capitulo IV

Após as configurações efetuadas anteriormente compile o programa e ponha a aplicação a “correr”. Verificará que
os símbolos de escolha do idioma não se encontram visíveis na HMI.

O comando do tipo Dip switch também será inibido à operação. Para isso deverá fazer as mesmas parametrizações,
como efetuadas anteriormente, com os símbolos gráficos das bandeiras da China e UK.

Quando a HMI estiver em run-time e para ter acesso a estes comandos deverá clicar em “Login”. Coloque o “User
name” de “Admin” e na “Password” escreva “1”.

Clique em “OK”. A partir deste momento terá acesso à manobra do switch e os símbolos gráficos, com as bandeiras
da China e UK, ficam visíveis.

[asaTek / J.Andril] 84
BRESIMAR AUTOMAÇÃO Capitulo IV

 IV-4 – TwinCAT 3.1 HMI em plataforma web

Cada vez mais as plataformas de HMI estão a migrar de aplicações informáticas residentes em IPC ou EPC para
servidores web. Esta é a tendência atual devido à grande capacidade de processamento dos controladores e da
memória disponível, permitindo assim a instalação de servidores web.

O TwinCAT 3 permite reconfigurar toda Interface Homem Máquina para o formato web. Para isso ser possível é
necessário a instalação, nas versões superiores ao TwinCAT 3.1.4018.13, de um novo pacote plug-in designado por
HMI-Web com a referencia TF1810-PLC-HMI-Web.

IV-4.1 – TwinCAT 3.1 HMI – Web em redes LAN

Para dar inicio ao funcionamento da HMI, baseada na Web, iremos criar uma rede LAN com um IPC ou EPC, um
switch e um PC com o software de desenvolvimento de edição TwinCAT 3.1 (XAE). O Controlador baseado no IPC
ou EPC terá o endereço IP 192.168.1.100 e a gateway o 192.168.1.1 como mostra a figura seguinte.

O endereço da rede é o 192.168.0.0. O PC remoto, com o editor de programa TwinCAT 3.1 (XAE), ficará dentro da
mesma rede com o endereço 192.168.1.123 como mostra a figura seguinte.

[asaTek / J.Andril] 85
BRESIMAR AUTOMAÇÃO Capitulo IV

De seguida abra o seu projeto com o editor do TwinCAT 3.1 (XAE). Na coluna esquerda do seu projeto clique na pasta
“System” e no botão de comando “Choose target…”. Faça um varrimento aos controladores existentes na rede. Para
esse fim utilize o comando “Search (Ethernet)”/“Broadcast Search”. Registe o controlador encontrado, no seu router
virtual.

De seguida deverá configurar o seu projeto, da HMI, para plataforma web. Para isso deverá, na coluna esquerda
“Solution Explorer”, clicar na pasta de gestão das visualizações “Visualization Manager” e adicionar a função
“WebVisualization”.

De seguida deverá registar a sua configuração , descarregar o projeto para o controlador EPC-CX e por

fim ponha a correr o programa .

Depois de finalizado com sucesso, o processo anterior, poderá fechar e sair do editor de programa TwinCAT-XAE.
Abra o browser que tenha disponível no seu PC. Coloque na janela do browser o seguinte caminho:

Http: // (“IP do controlador remoto”) /Tc3PlcHmiWeb/port_851/visu/webvisu.htm

No nosso caso o controlador IPC/EPC-CX tem o IP 192.168.1.100. Surgirá no browser a HMI desenvolvida para a
plataforma Web. Assim podemos visualizar e manobrar o nosso automatismo, através de um simples browser
instalado no PC, sem necessidade de termos o TwinCAT 3.1.

[asaTek / J.Andril] 86
BRESIMAR AUTOMAÇÃO Capitulo IV

IV-4.2 – TwinCAT 3.1 HMI – Web em redes Wireless

Uma segunda via de acesso ao controlador pode ser, em vez de rede Ethernet física LAN, a utilização de
comunicações wireless em equipamentos moveis tais como PC portáteis, tablets ou smartphones. Neste capitulo
explico os procedimentos de configuração necessários para concretizarmos essas comunicações.

Teremos de colocar o nosso controlador IPC ou EPC-CX com o IP 192.168.1.100, tal como foi feito no capitulo
anterior.

Com o seu equipamento móvel (PC portátil, tablet ou smartphone) entre na rede wireless disponível (ex. TP-LINK).
Caso tenha uma password ou chave de encriptação deverá coloca-la. Uma vez concretizado, com sucesso, o acesso
à rede wireless está pronto a comunicar com o controlador remoto (IP: 192.168.1.100).

Utilize o browser colocando na janela o caminho seguinte :

Http: //192.168.1.100 /Tc3PlcHmiWeb/port_851/visu/webvisu.htm

Surgirá no browser do seu equipamento móvel (PC portátil, tablet ou smartphone) a HMI desenvolvida para a
plataforma Web. Assim podemos, de uma maneira simples, visualizar e manobrar o nosso automatismo.

[asaTek / J.Andril] 87
BRESIMAR AUTOMAÇÃO Capitulo IV

[asaTek / J.Andril] 88
BRESIMAR AUTOMAÇÃO Capitulo V

V – TwinCAT 3.1 - Gestão de Livrarias


Visão geral da gestão de livrarias no TwinCAT 3.1
A gestão de livrarias na versão 3 do TwinCAT é diferente da versão
anterior 2. A gestão é feita de uma maneira mais elaborada, sofisticada
e segura.

A organização das livrarias é baseada nos seguintes itens de informação:

“References” - Designa a pasta, no projeto, que contem todos os


“contentores” (“placeholder”) das livrarias que necessitamos.

“Version” - Indica a versão da livraria existente.

“Company” - Nome da empresa que a criou.

“Placeholder” - Nome do placeholder em que se encontram todas os


POUs, GVLs,VISUs da livraria. Dentro do placeholder podemos ter
também versões anteriores da livraria.

“Namespace” - Nome do atributo reservado à livraria. Com este atributo


podemos ter FB´s ou FUNs, como o mesmo nome, em diversas livrarias.
Para selecionar cada uma delas necessitamos atribuir o Namespace.

“Install” - Todas as livrarias necessárias ao projeto PLC terão de ser


instaladas na “Library repository”. No TwinCAT v2 bastava fazer copy e
paste.

 V-1 – Gestão da biblioteca de livrarias

Em todos os projetos obrigatoriamente utilizamos livrarias. Estas livrarias encontram-se na pasta “References”. As
livrarias que são sempre “carregadas” automaticamente em um novo projeto são a “Tc2_Standard”, a “Tc2_System”
e a “Tc3_Module”. Alem destas temos à nossa disposição, no Library repository, uma vasta gama de livrarias criadas
pela Beckhoff e por outras empresas. Nem todas as livrarias disponíveis são free.

Para adicionar novas livrarias terá, na pasta “References”, de clicar com a tecla direita do rato. Surgirá um janela
pop-up com um menu com os seguintes 5 comandos :
“Add Library…” : Adiciona uma nova livraria
“Placeholders…” : Mostra os placeholders que contem as livrarias instaladas no projeto
“Library repository…” : Localização do repositório de livrarias (caminho/path)
“Set to Effective Version” : Mostra a versão usada, no projeto, dos placeholders das livrarias
“Set to Always Newest Version” : Mostra a versão mais recente dos placeholders das livrarias

[asaTek / J.Andril] 89
BRESIMAR AUTOMAÇÃO Capitulo V

Com o comando “Add library…” conseguimos visualizar todas as livrarias à nossa disposição e selecionar a que
desejamos usar no projeto. No pop-up, que surge quando clicamos em “Add library…”, se selecionarmos o comando
“Advanced…” surgirá uma janela com as seguintes pastas.

Na pasta “Company:” conseguimos visualizar a empresa autora da livraria. A maioria é da Beckhoff mas também
podemos ter outras empresas.

Se selecionarmos a opção “Display all versions (for experts only)”, com um visto, conseguimos visualizar todas as
versões instaladas no placeholder da livraria do nosso PC.

[asaTek / J.Andril] 90
BRESIMAR AUTOMAÇÃO Capitulo V

Clique no comando “Details…” para ver todo o conteúdo da livraria.

Também poderá adicionar a livraria através do seu placeholder. Clique na subpasta “Placeholder”.

Podemos também fazer a seleção sem ser por grupo. Opção “Group by category” não ativo.

[asaTek / J.Andril] 91
BRESIMAR AUTOMAÇÃO Capitulo V

A outra opção de escolher a livraria pretendida para o projeto é, na janela de cima, escrever a o nome da livraria. À
medida que se escreve a designação vai surgindo, na janela de baixo (assinalado com a cor amarela), as livrarias que
contem essas letras embutidas.

Como vimos anteriormente existem diversas maneiras de encontrarmos, no editor de projeto, as livrarias. Após a
seleção feita clique em “OK”.

Verifique e confirme, se na pasta do projeto “References”, se encontra a livraria selecionada anteriormente.

[asaTek / J.Andril] 92
BRESIMAR AUTOMAÇÃO Capitulo V

Todas as livrarias disponíveis encontram-se na pasta “Managed Libraries” :

C: \ TwinCAT \ 3.1 \ Componets \ Plc \ Managed Libraries

 IV-2 – Criação de livrarias próprias


No decorrer de diversos projetos é natural que repitamos diversos automatismos e processos. Como boa politica de
gestão de recursos e de tempo convém criar livrarias próprias pertencentes à nossa empresa. Este processo pode
ser efetuado também no TwinCAT 3.1. Neste capitulo iremos explicar como proceder à criação dessas livrarias.

Crie um projeto de PLC do tipo “Empty PLC Project”. De seguida crie os POUs que pretende colocar em livraria, tal
como FBs, FUNs, etc. No nosso exemplo temos uma FB com o nome “FB_test”.

De seguida necessitamos carregar e encapsular as nossas POUs no gestor de livraria do TwinCAT 3.1. Para isso
deverá clicar, com a tecla direita do rato, em cima do projeto do PLC e escolher o comando “Properties”.

[asaTek / J.Andril] 93
BRESIMAR AUTOMAÇÃO Capitulo V

Surgirá uma janela pop-up em que deverá introduzir dados com informação da livraria que pretende criar. Deverá
preencher no formulário, obrigatoriamente, as janelas que tem o titulo em black bold . Esses campos são o nome
da empresa que criou a livraria (“Company”), o titulo da livraria (“Title”) e a versão ex. 1.0 ou 1.0.0 (“Version”).
Também poderá designar o “Default namespace”, o “Placeholder”, o “Author” e a “Description”. Se quiser deixar
em branco poderá faze-lo.

Após o preenchimento da ficha com os dados informativos da livraria clique, com a tecla direita do rato, em cima do
projeto do PLC. Na janela pop-up que surgir encontrará duas opções que permitem salvar a livraria : “Save library…”
e “Save as library and install…”.

O comando “Save as library…” simplesmente guarda a livraria mas não a instala no repositório geral das livrarias
“Library repositor”. As livrarias poderão ser guardadas com duas diferentes extensões. Uma tem a extensão “
.library” em que podemos visualizar o programa fonte e a outra tem a extensão “ .compiled-library” em que não é
possível visualizar o programa fonte (“source code”).

[asaTek / J.Andril] 94
BRESIMAR AUTOMAÇÃO Capitulo V

Uma vez guardada a livraria podemos passar estes ficheiros a colegas de projeto ou fornecer a outras empresas ou
clientes. Essas entidades terão de a instalar no editor de projeto TwinCAT 3.1 (XAE).

Os passos da instalação são os seguintes :

Na pasta “References” clique, com a tecla direita do rato, no comando “Library repository…”.

De seguida clique “Install…”

Selecione a livraria que criou e clique em “Open”.

[asaTek / J.Andril] 95
BRESIMAR AUTOMAÇÃO Capitulo V

Se a instalação da livraria for bem-sucedida deverá surgir na pasta das livrarias “(Miscellaneous)” a sua nova livraria,
como mostra a figura seguinte.

Também podemos confirmar a sua instalação, usando o Explorador de ficheiros do sistema operativo, no caminho
C: \ TwinCAT \ 3.1 \ Componets \ Plc \ Managed Libraries. Verifique a sua presença.

Em caso de pretender desinstalar uma livraria é possível usando o comando “Uninstall”.

[asaTek / J.Andril] 96
BRESIMAR AUTOMAÇÃO Capitulo V

Outra alternativa à instalação de livrarias é usar o comando “Save as library and install”. Este comando permite
guardar e instalar, ao mesmo tempo, as suas livrarias. Este comando deve ser usado se estivermos a usar o PC de
desenvolvimento dos projetos de automação TwinCAT 3.1 (XAE).

Como nota final deste capitulo, informo que é possível atribuir nomes iguais a POUs e que pertencem a livrarias
diferentes. A seleção desses POUs (FBs ou FUNs), no programa, é feita pelo namespace como mostra a figura
seguinte.

[asaTek / J.Andril] 97
BRESIMAR AUTOMAÇÃO Capitulo V

[asaTek / J.Andril] 98
BRESIMAR AUTOMAÇÃO Capitulo VI

VI – TwinCAT 3.1 – Gestão dos programas de projeto


Visão geral da gestão dos programas de projeto no TwinCAT 3.1
Todos os projetos “descarregados” (“download”) no PLC poderão ser recuperados e guardados no nosso PC. Esse
processo, designado por upload do programa, só é possível se após o “descarregar” do programa para o softPLC
executarmos alguns procedimentos. Na versão 2 do TwinCAT tinha a designação de sourcecode download.

Este capitulo aborda os procedimentos necessários para o upload de programas residentes em softPLCs com TwinCAT
3.1, o backup dos projetos executados no editor TwinCAT 3.1 (XAE) e a gestão de compatibilidade de versões.

 VI-1 – Gerir programas de configuração, arranque e de upload

Para conseguirmos executar o upload de um programa residente no softPLC TwinCAT 3.1 é necessário e obrigatório
proceder à “descarga” (“download”) do programa designado por sourcecode (“Project Sources”).

Clique duas vezes na pasta do projeto do PLC (ex. “Untitled1”) e na subpasta “Settings” ative a propriedade “Project
Sources”, como mostra a figura seguinte:

Se pretendemos que o nosso projeto fique protegido a possíveis copias, por terceiros, não coloque o visto em
“Project Sources”. Assim ninguém conseguirá fazer o “upload” do programa residente no softPLC. Esta operação era
designada no TwinCAT v2 por “Sourcecode download”.

Quando executamos o comando “Activate Configuration”, com a opção “Project Sources”, irá ativar/registar a
configuração do hardware no sistema e criar o ficheiro que permitirá o upload do programa.

Uma vez completada a operação anterior poderá encontrar, na pasta “Boot” do seu IPC ou EPC-CX, uma subpasta
com o nome “CurrentConfig” e um ficheiro com extensão *.tszip com o mesmo nome. Estes ficheiros correspondem
ao ficheiro soucecode que permitirá executar o upload do programa residente no softPLC. Se copiarmos estes
ficheiros para a pasta “Boot”, de outro PC com o softPLC TC 3.1 , temos uma copia do projeto feita manualmente.

[asaTek / J.Andril] 99
BRESIMAR AUTOMAÇÃO Capitulo VI

Um procedimento, também muito importante, que terá de ser sempre efetuado é a inicialização automática do
programa do automatismo residente no softPLC TwinCAT 3.1. Para isso terá de parametrizar a opção “Autostart
Boot Project”, como mostra a figura seguinte.

Destaco e relembro os comandos que existem e que terão de ser ativados, após a finalização do projeto de
automação. Destaco os seguintes:
1º - “Activate Boot Project…” - Executa o Boot manualmente
2º -“Autostart Boot Project…” - Executa automaticamente o Boot quando se fizer “Activate Configuration”
O programa sourcecode e a sua configuração é descarregada para o softPLC target quando se fizer “Activate
Configuration”.

Após a execução dos diversos procedimentos, explicados anteriormente, estamos pronto para fazer uma copia
residente no softPLC target. Para isso deverá cumprir os passos seguintes:
Na barra de comando existente na parte superior do editor do TwinCAT 3 clique em “File” / “Open”. Na janela pop-
up escolha o comando “Open Project from Target…”.

Na janela pop-up, de seleção do controlador, escolha o softPLC target que deseja fazer o backup do programa.

Se o controlador (softPLC target) estiver conectado e ativo surgirá uma janela pop-up onde poderá selecionar a pasta
onde quer guardar o ficheiro do upload.

[asaTek / J.Andril] 100


BRESIMAR AUTOMAÇÃO Capitulo VI

 VI-2 – Guardar código fonte dos projetos

Geralmente o programa fonte do nosso automatismo é guardado diretamente no nosso editor de projeto TwinCAT-
XAE. Este programa fica guardado no PC do editor e automaticamente são criadas diversas pastas em que contem
todos os ficheiros e código do projeto.

Muitas vezes quando abrimos este projeto, em outro PC, com uma versão do Visual Studio diferente do original em
que foi feito surge uma janela de erro, como mostra a figura seguinte.

Para evitar este erro podemos escolher o arquivamento do nosso projeto em outro formato do Visual Studio.

VI-2.1 – Guardar projetos completos

Para conseguirmos facilmente abrir um projeto, em outro PC, com o editor TwinCAT 3.1 (XAE) devemos guardar o
projeto completo. De seguida mostramos quais os passos a executar.

Para “salvar” o projeto completo clique, com a tecla direita do rato, na pasta do projeto do TwinCAT 3.1 (ex.
“TwinCAT Project3”) e escolha o comando “Save TwinCAT Project3 as Archive…”.

Na janela pop-up que surgir escolha o caminho onde quer colocar o ficheiro e o seu formato (ex. *.tszip). Clique em
“Save” (“Guardar”).

[asaTek / J.Andril] 101


BRESIMAR AUTOMAÇÃO Capitulo VI

Após efetuado o procedimento anterior podemos abrir o projeto num editor instalado em outro PC. O procedimento
para a abertura desse projeto é o seguinte:
Clique, na barra de comando superior do editor TwinCAT 3.1, no comando “FILE”/”Open”/“Project/Solution…”. Na
janela pop-up que surgir selecione o ficheiro *.tszip guardado anteriormente.

Na janela pop-up selecione a pasta onde quer colocar este novo projeto completo.

[asaTek / J.Andril] 102


BRESIMAR AUTOMAÇÃO Capitulo VI

VI-2.2 – Guardar projetos do PLC

Para conseguirmos guardar projetos, do softPLC TwinCAT 3.1, que sejam facilmente abertos em outros PC´s devemos
seguir os seguintes procedimentos:
Para salvar o projeto do PLC (ex. New) clique, com a tecla direita do rato, na pasta do projeto designado por PLC e
escolha o comando “Save New as Archive…” como mostra o exemplo (ex. “New”) da figura seguinte.

Na janela pop-up selecione a pasta onde deseja guardar este novo projeto de PLC, em formato *.tpzip. De seguida
clique em “Save” (“Guardar”).

Para abrirmos um projeto de PLC já arquivado anteriormente em formato *.tpzip clique, com a tecla direita, na pasta
PLC e escolha o comando “Add Existing Item…” como mostra a figura seguinte.

[asaTek / J.Andril] 103


BRESIMAR AUTOMAÇÃO Capitulo VI

Na janela pop-up selecione a pasta onde foi guardado o projeto PLC. De seguida clique em “Open” (“Abrir”).

VI-2.3 – Guardar POUs (PRGs, FBs, FUNs, VISUs, GVLs)

Para conseguirmos guardar partes de POUs existentes nos projetos, para transferi-los para outros, devemos seguir
os seguintes procedimentos:
No exemplo o arquivo é um POU do tipo FB. O procedimento é idêntico para outros tipos (PRGs,FBs,VISUs ou GVLs).
Clique no POU que pretende arquivar, com a tecla direita do rato, e escolha o comando “Export PLCopenXML…”.

Na janela pop-up selecione a pasta onde pretende arquivar este POU. De seguida clique em “Save”.

[asaTek / J.Andril] 104


BRESIMAR AUTOMAÇÃO Capitulo VI

Para abrirmos um POU já arquivado clique, com a tecla direita, na pasta POUs e escolha o comando “Import
PLCopenXML…” como mostra a figura seguinte.

Na janela pop-up selecione a pasta onde está o POU arquivado. De seguida clique em “Open” (“Abrir”),

Na janela pop-up que surgir pode ativar e selecionar os Method e Property se o POU possuir estas propriedades. Por
defeito ambos estão selecionados. Clique de seguida em “OK”.

[asaTek / J.Andril] 105


BRESIMAR AUTOMAÇÃO Capitulo VI

VI-2.4 – Guardar programas de SAFETY

Para conseguirmos guardar programas de “segurança máquina” SAFETY, que poderão existir em alguns projetos,
para transferi-los para outros devemos seguir os seguintes procedimentos:
Clique na pasta SAFETY, com a tecla direita do rato, e escolha o comando “Save Safety New as Archive…” como
mostra o exemplo (Ex. “Safety New”) da figura seguinte.

Na janela pop-up selecione a pasta onde quer guardar o ficheiro em formato “.tfzip” e clique em “Save” (“Guardar”).

Para abrirmos um projeto de SAFETY já arquivado anteriormente clique, com a tecla direita, na pasta SAFETY e
selecione o comando “Add Existing Item…” como mostra a figura seguinte.

Na janela pop-up selecione a pasta onde se encontra o projeto SAFETY arquivado e clique em “Open” (“Abrir”).

[asaTek / J.Andril] 106


BRESIMAR AUTOMAÇÃO Capitulo VI

VI-2.5 – Guardar programas de C++

Para conseguirmos guardar os programas desenvolvidos em “linguagem de alto nível C++” clique na pasta C++, com
tecla direita do rato, e selecione o comando “Save Untitled2 as Archive…” como mostra o exemplo (Ex. “Untitled2”)
da figura seguinte.

Na janela pop-up selecione a pasta onde quer guardar o ficheiro em formato “.tczip” e clique em “Save”.

Para abrirmos um projeto de C++ já arquivado anteriormente clique, com a tecla direita, na pasta C++ e selecione o
comando “Add Existing Item…” como mostra a figura seguinte.

Na janela pop-up selecione a pasta onde se encontra o projeto C++ arquivado e clique em “Open”.

[asaTek / J.Andril] 107


BRESIMAR AUTOMAÇÃO Capitulo VI

VI-2.6 – Guardar configuração de IOs

Para conseguirmos guardar a configuração de IO´s, que anteriormente no TwinCAT 2 correspondia ao ficheiro do
System Manager, clique com a tecla direita do rato na pasta “Device 1”. De seguida selecione o comando “Save
Device 1 (EtherCAT) As…” como mostra o exemplo (Ex. “Device 1 (EtherCAT)”) da figura seguinte.

Na janela pop-up selecione a pasta onde quer guardar o ficheiro em formato “.xti” e clique em “Save”

Para abrirmos um projeto dos “Devices” já arquivado anteriormente clique, com a tecla direita, na pasta “Devices”
e selecione o comando “Add Existing Item…” como mostra a figura seguinte.

Na janela pop-up selecione o caminho e a pasta onde se encontra o projeto arquivado e clique em “Open”.

[asaTek / J.Andril] 108


BRESIMAR AUTOMAÇÃO Capitulo VI

 IV-3– Gestão de versões de projeto


O grande problema atualmente é a evolução rápida do software, surgindo novas versões. Isto provoca, por vezes,
incompatibilidades entre versões devido a serem acrescentadas novas funções e que poderão ser incompatíveis com
versões anteriores.

A partir da versão 4020 do TwinCAT 3.1 notou-se um incremento de novas funções e que são incompatíveis com as
versões anteriores. Para evitar este problema, a partir da versão 4020 do TC 3.1, a instalação de novas versões é
feita criando pastas paralelas. Assim tendo estas diferentes atualizações e versões, instaladas em pastas do mesmo
PC, conseguimos facilmente comutar de uma versão para a outra. Evita-se assim a dificuldade, por não possuirmos
a versão correta, de abertura de projetos já feitos.

NOTA: A instalação de uma versão do TwinCAT 3.1 “Remote Manager” não apaga outras versões.

Para evitar erros e incompatibilidades de versões de desenvolvimento e de runtime convém termos as versões
antigas de desenvolvimento. Correntemente existem duas versões de “Engineering Remote Manager” no site da
Beckhoff .

De seguida mostro os procedimentos necessários para comutar de versão se tivermos alguma incompatibilidade da
versão de runtime, a correr num PC target, com a versão do editor de programa TwinCAT 3.1.

Se no PC tivermos mais do que uma versão instalada deverá, através do Visual Studio, selecionar a opção “TwinCAT
XAE Remote Manager”. Clique, com a tecla direita do rato, na parte vazia da barra de comandos da “Start Page” do
Visual Studio.

De seguida, na janela “TwinCAT XAE Remote Manager Toolbar” da barra de ferramentas, selecione a versão com
que pretende trabalhar. No exemplo da figura seguinte temos instaladas diversas versões RM e FULL.

[asaTek / J.Andril] 109


BRESIMAR AUTOMAÇÃO Capitulo VI

Assumindo, como exemplo, que temos um controlador target com uma versão de run-time TC3.1.4018.44 nós
devemos escolher a versão antiga Build 4018.44 no nosso editor de programa TwinCAT 3.1, baseado no Visual Studio.
Esta comutação é fácil de se fazer, caso tenhamos a opção de switch de versões, no nosso PC.

Esta comutação só é permitida fazer uma vez. Caso queiramos comutar para outra versão terá de fechar o Visual
Studio e voltar a abri-lo.

Para não termos diversas versões de desenvolvimento do TwinCAT 3.1 podemos fixar a versão de edição compatível
com a versão do runtime com que estamos a trabalhar. Podemos assim fixar a versão configurando a seguinte
propriedade:

Uma vez a versão fixa, todas as vezes que abrirmos o editor de programa TwinCAT 3.1 (XAE) a função RM comuta
automaticamente para a versão compatível com o runtime.

Se o editor de programa TwinCAT 3.1 do seu PC for a ultima versão e não é compatível com a versão do runtime o
software lançará uma janela de aviso. Se desejar executar a comutação de versões clique em “OK”.

[asaTek / J.Andril] 110


BRESIMAR AUTOMAÇÃO Capitulo VII

VII – TwinCAT 3.1 – Conversão de programas feitos em TwinCAT 2


Visão geral de como podemos converter programas feitos na versão 2 do TwinCAT
O TwinCAT 3.1 permite converter projetos feitos em TwinCAT 2. São os ficheiros, do TwinCAT 2, com a extensão *.tsm,
*.tpy, *, *.lib e *.pro que são utilizados no processo de conversão no TwinCAT 3.1.

Este capitulo apresenta os diversos métodos que podemos utilizar para converter projetos feitos em TwinCAT 2 para
TwinCAT 3.1.

1ª Opção: Converter livrarias de um projeto de TwinCAT 2 (*.lib)


2º Opção: Converter projetos completos de TwinCAT 2 (*.tsm, *.pro e *.tpy)
3º Opção: Converter programas de um projeto de TwinCAT 2 (*.pro)

 VI-1 – Conversão de livrarias de TwinCAT 2 (*.lib)

Neste capitulo iremos abordar os procedimentos para converter ficheiros, do tipo *.lib, do TwinCAT 2.

A livraria terá de ser obrigatoriamente compilada, sem erros, no TwinCAT 2. Na figura seguinte mostramos um
exemplo de um POU (“FB_test1”) escrito no editor de programa PLC Control do TwinCAT 2 e guardado com o nome
“libtest.lib”

De seguida abra o editor de programa TwinCAT 3.1 e na pasta (ex. “TwinCAT Project5”) clique, com a tecla direita do
rato, em PLC. De seguida clique no comando “Add Existing Item…”.

[asaTek / J.Andril] 111


BRESIMAR AUTOMAÇÃO Capitulo VII

Na janela pop-up, que surge, escolha o ficheiro do tipo “Plc 2.x Library Import (*.lib)”.

Encontre a pasta onde tem arquivado esse ficheiro e clique em “Open” (“Abrir”).

Após este procedimento verifique, na pasta POUs, se está instalada a FB “FB_test1” pertencente ao ficheiro *.lib
criado no TwinCAT 2. Clique, com a tecla direita do rato, na pasta “libtest Project” e escolha o comando “Properties”.

Na janela pop-up que surge preencha, no formulário, os campos “Company”, “Title” e “Version”. Poderá também
preencher os campos “Default namespace” e “Placeholder” se o desejar (não é obrigatório).

[asaTek / J.Andril] 112


BRESIMAR AUTOMAÇÃO Capitulo VII

Após o preenchimento do formulário clique, com a tecla direita do rato, no item com o nome do ficheiro e escolha
o comando “Save as library and install…”. Isto significa que será guardada e instalada uma nova livraria no
repositório das livrarias. Se optar por clicar no comando “Save as library…” só guarda o ficheiro da livraria.

De seguida, quando surgir a janela pop-up, escolha o formato do ficheiro. Se escolhermos o formato “*.library” é
guardada a livraria compilada. Se escolhermos a opção “*.compiled-library” a livraria é guardada num ficheiro
compilado e encriptado. Isso significa que não será possível ver o código fonte dos POUs existentes nessa livraria.

Clique na pasta “References”. De seguida, com a tecla direita do rato, clique no comando “Add library…”.

Na janela “Add Library..”/“(Miscellaneous)” verifique se existe a livraria anteriormente convertida.

[asaTek / J.Andril] 113


BRESIMAR AUTOMAÇÃO Capitulo VII

 VII-2 – Conversão dos projetos completos de TwnCAT 2

Para podermos converter um projeto completo, anteriormente feito em TwinCAT v2, terá de se fazer algum trabalho
preparatório. Comece por criar, no seu ambiente de trabalho (desktop), uma pasta (ex. TC2program) para os
ficheiros do projeto do TwinCAT 2. Nessa pasta crie uma subpasta de nome “Lib”. Nesta subpasta guarde todas as
livrarias utilizadas no projeto.

Abra o editor de programa TwinCAT 3.1 (XAE) e crie um novo projeto. Clique, com a tecla direita do rato, na pasta
“TwinCAT project1” e escolha o comando “Load Project from TwinCAT 2.xx Version…”.

Na janela pop-up escolha o formato do ficheiro “*.tsm”, com o comando “TwinCAT 2.xx Project (*tsm)”. Selecione
o ficheiro “*.tsm” (ex. testp) que se encontra na pasta criada inicialmente. De seguida clique em “Open” (“Abrir”).

[asaTek / J.Andril] 114


BRESIMAR AUTOMAÇÃO Capitulo VII

Surgirá uma janela a avisar que irá tentar converter o projeto (Ex. testp) do formato TwinCAT 2 para o TwinCAT 3.1.
Clique em “OK”.

Se na pasta criada inicialmente não se encontra o ficheiro do programa (*.pro) do TwinCAT 2 surgirá a seguinte
janela de aviso.

Coloque o programa “*.prg” (ex. testp.pro) na pasta criada inicialmente ou procure o caminho da pasta onde ele se
encontra. De seguida clique em “Open” (“Abrir”).

Adicionado o ficheiro “*.pro” (ex. testp.pro) ao nosso projeto, de seguida, poderá surgir a seguinte caixa de dialogo.

[asaTek / J.Andril] 115


BRESIMAR AUTOMAÇÃO Capitulo VII

Esta janela informa que não encontra 1 das livrarias (no nosso exemplo) e pergunta se podemos alterar o caminho
da sua localização. Clique em “Yes”(“Sim”).

Selecione, na janela “Libraries”, o caminho da localização das livrarias em falta usando o comando “Select…”

A opção mais correta é logo no início da criação da pasta no ambiente de trabalho (ex. TC2program), onde temos o
projeto completo do TC2, colocar todas as livrarias na subpasta “Lib” . Assim torna-se mais fácil encontrar o caminho.

No nosso exemplo é C:\users\andril\desktop\tc2program\Lib\ . Uma vez introduzido o caminho correto clique em


“OK” da janela “Options”.

O processo de reconversão será iniciado com a apresentação de uma janela pop-up designada por “Library
Reference Conversion”. Nesta janela teremos de escolher qual a tarefa a executar.

Se selecionarmos a 1ª opção “Convert and install the libary as well” a conversão será feita com a livraria que se
encontra na subpasta “Lib” (c:\users\andril\desktop\tc2program\lib) e será instalada no nosso editor TwinCAT 3.1.

Se esta livraria ainda não existe no seu editor de programa surgirá uma janela pop-up com um formulário, a ser
preenchido pelo programador, com o nome e versão da livraria e a empresa que a criou.

[asaTek / J.Andril] 116


BRESIMAR AUTOMAÇÃO Capitulo VII

A 2ª opção “Use the following library that has already been installed :” permite escolher livrarias já existente no
nosso editor de programa TwinCAT 3. Se selecionar esta 2ª opção o botão “Browser” ficará ativo. Se clicarmos nele
surgirá a janela “Select Library”.

Na pasta “Miscellaneous” escolha a livraria já instalada (ex. Lib_test). De seguida a livraria selecionada aparece no
lado direito do comando “Browser”, como mostra a figura a seguir.

Clique em “OK”.

Também se usa a 2ª opção “Use the following library that has already been installed :” para converter
manualmente programas Standard já existentes no TwinCAT 2 . Clique no botão “Browse”.

[asaTek / J.Andril] 117


BRESIMAR AUTOMAÇÃO Capitulo VII

Selecione na pasta “System” a livraria standard “Tc2_Standard” .

Todas as livrarias estão referenciadas no Visual Studio. Para verificarmos essas referencias recorremos ao comando
“TOOLS” da barra superior (“Options”  “TwinCAT”  “PLC Environment”  “Libraries”).

Após os passos anteriores concretizados, com sucesso, a conversão do projeto está concluída. Poderá visualizar na
arvore do editor de programa do TwinCAT 3.1 todas as livrarias, linkagens e POUs.

[asaTek / J.Andril] 118


BRESIMAR AUTOMAÇÃO Capitulo VII

 VII-3 – Conversão de programas de TwinCAT 2 (*.pro)


Se pretendermos converter somente programas (*.pro) do TwinCAT 2 o procedimento é mais simples.

Depois de criarmos um novo projeto no editor de programa do TwinCAT 3.1 clique, com a tecla direita do rato, na
pasta PLC e selecione o comando “Add Existing Item…”.

Selecione o ficheiro, do tipo “*.pro”, com o comando “Plc 2.x Project Import (*.pro)”

De seguida deverá seguir os mesmos passos, explicados no capitulo anterior VII-2, para o caminho da pasta das
livrarias utilizadas no programa.

Após concretização dos procedimentos anteriores a conversão estará finalizada.

[asaTek / J.Andril] 119


BRESIMAR AUTOMAÇÃO Capitulo VII

NOTA: Em muitas conversões quando efetuamos a compilação do novo projeto, convertido do TwinCAT 2, surgem
erros de compilação. Isso deve-se a que existem em algumas instruções do TC2 versus TC3 diferenças de sintaxe e
formatação. Com pequenas correções conseguimos eliminar esses erros.

Como exemplo temos:

 No TwinCAT 2 a inicialização de um ARRAY não necessita de [ ]


Ex. ARRAY[1..5] OF INT:=1,2,3,4,5;
 No TwinCAT 3 a inicialização de um ARRAY necessita de [ ]
Ex. ARRAY[1..5] OF INT:=[1,2,3,4,5];

 No TwinCAT 2 a conversão de REAL para INT usa o TRUNC


 No TwinCAT 3 a conversão de REAL para INT usa o TRUNC_INT

Recomendo recorrer ao Help / Information System para verificar a causa dos erros de compilação.

Por exemplo, para o erro referenciado ao TRUNC, coloque a palavra na janela de pesquisa e clique “search”.

[asaTek / J.Andril] 120


BRESIMAR AUTOMAÇÃO Capitulo VII

[asaTek / J.Andril] 121

Você também pode gostar