02.10.2019 Views

BRESIMAR(asaTek)-Beckhoff-Livro Formação Técnica TwinCAT 3.1

BECKHOFF - TwinCAT 3.1 Livro Formação Técnica (v0.3/2017) Da empresa BRESIMAR AUTOMAÇÃO (Aveiro / Portugal) Autoria: asaTek / Jorge Andril

BECKHOFF - TwinCAT 3.1
Livro Formação Técnica (v0.3/2017)
Da empresa BRESIMAR AUTOMAÇÃO (Aveiro / Portugal)
Autoria: asaTek / Jorge Andril

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

BECKHOFF AUTOMATION<br />

MANUAL DE FORMAÇÃO DE INICIAÇÃO<br />

<strong>TwinCAT</strong> <strong>3.1</strong><br />

por Jorge Andril<br />

01 / 2017<br />

• <strong>BRESIMAR</strong> AUTOMAÇÃO , S.A. • Departamento de Engenharia ASATEK • www.bresimar.pt<br />

• Quinta do Simão EN109 - Esgueira • Apartado 3080 • 3800-230 Aveiro • PORTUGAL


O agradecimento à BECKHOFF AUTOMATION pelo fornecimento de<br />

documentação técnica e à <strong>BRESIMAR</strong> AUTOMAÇÃO S.A. pela<br />

disponibilidade de equipamentos para a execução de testes de campo.


A <strong>BRESIMAR</strong> AUTOMAÇÃO é uma<br />

empresa com sede em Aveiro, Portugal<br />

A Bresimar Automação S.A., é uma empresa familiar<br />

especializada em Automação Industrial. Fundada em 1982<br />

foi evoluindo a sua atividade comercial e atualmente<br />

divide-se em 3 áreas de negócios.<br />

Essas áreas de negócios são as seguintes:<br />

Comercialização de equipamentos para<br />

automação industrial através da representação<br />

exclusiva de diversas marcas, mundialmente<br />

conceituadas (INSYS-icom , <strong>Beckhoff</strong> , Siemens<br />

, Turck , Beijer , entre outras ) .<br />

<br />

<br />

Serviços de engenharia de automação e controlo<br />

para processos industriais com desenvolvimento<br />

de software para PLCs e HMIs . Este serviço<br />

possui a marca registada <strong>asaTek</strong> .<br />

Produção e desenvolvimento de transmissores e<br />

sensores de temperatura incluindo sistemas sem<br />

fios. Estes equipamentos tem a marca registada<br />

tekOn .<br />

Possui uma equipa técnica qualificada, que presta serviços<br />

de assistência pré e pós-venda, que propõe e aconselha<br />

soluções tecnológicas inovadoras.<br />

A gestão está focada e orientada para os clientes, pelo que<br />

efetua uma seleção muito criteriosa de fornecedores. A<br />

formação é um fator determinante para a qualidade dos<br />

serviços prestados por todos os colaboradores.<br />

Espero que estes apontamentos técnicos vos sejam úteis<br />

nas vossas aplicações de automação industrial!<br />

Obrigado pela vossa atenção.<br />

Saudações<br />

Jorge Andril<br />

j.andril@bresimar.pt<br />

http://pt.linkedin.com/in/jorgeandril


LISTA DE CONTEÚDOS<br />

I – Instalação do software <strong>TwinCAT</strong> <strong>3.1</strong><br />

I-1 – Instalação do softPLC <strong>TwinCAT</strong> V<strong>3.1</strong> 1<br />

I-1.1 – Instalação do software de engenharia <strong>TwinCAT</strong> v<strong>3.1</strong> (XAE) 1<br />

I-1.2 – Instalação do software runtime <strong>TwinCAT</strong> V<strong>3.1</strong> (XAR) 5<br />

I-2 – Ativação das licenças do software 6<br />

I-2.1 – Ativação das licenças do XAR por software 6<br />

I-2.1.1 – Ativação de licenças trial 6<br />

I-2.1.2 – Ativação de licenças defínitivas 8<br />

I-2.2 – Ativação das licenças do XAR por hardware 11<br />

I-2.2.1 – Ativação com dongle EL6070 11<br />

I-2.2.2 – Ativação com dongle C9900-L100 USB 12<br />

I-2.2.3 – Como usar o dongle EL6070 e C9900-L100 USB 13<br />

I-2.3 – Erros na ativação das licenças 14<br />

I-3 – Soluções para incompatibilidades e erros do software <strong>TwinCAT</strong> <strong>3.1</strong> 15<br />

I-<strong>3.1</strong> – Habilitar a função INTEL VT-x 15<br />

I-3.2 – Erro de arranque de real-time com Windows 10 / 64bit 18<br />

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

I-3.4 – Incompatibilidade do <strong>TwinCAT</strong> <strong>3.1</strong> com Windows XP 19<br />

I-3.5 – Erro de instalação (“Error 1406”) 19<br />

I-3.6 – Erro de não abertura de “porta” (“Error 0x748) 20<br />

I-3.7 – Falha da pagina inicial do <strong>TwinCAT</strong> <strong>3.1</strong> (“Start Page”) 20<br />

I-3.8 – Simultaneidade do softPLC <strong>TwinCAT</strong> (XAR) v2 e v3 no mesmo PC 21<br />

I-3.9 – Alinhamento de dados consistentes no <strong>TwinCAT</strong> <strong>3.1</strong> 21<br />

II – <strong>TwinCAT</strong> <strong>3.1</strong> - IO<br />

II-1 – Comunicação com o controlador “target” 23<br />

II-2 – Configuração dos IO´s (hardware) 28<br />

II-3 – Linkagens dos IO´s (software) 32<br />

III – <strong>TwinCAT</strong> <strong>3.1</strong> - PLC<br />

III-1 – Introdução à norma IEC 61131-3 37<br />

III-1.1 – Tipo de dados standard 37<br />

III-1.1.1 – Variáveis Constantes 41<br />

III-1.1.2 – Variáveis Retentivas 41<br />

III-1.2 – Tipo de dados complexos 42<br />

III-1.2.1 – DUTs do tipo “Structure” 42<br />

III-1.2.2 – DUTs do tipo “Enumeration” 43<br />

III-1.2.3 – DUTs do tipo “Alias” 43<br />

III-1.2.4 – DUTs do tipo “Union” 44<br />

III-1.3 – Tipo de Unidade de Organização de Programa (POUs) 44<br />

III-1.<strong>3.1</strong> – Programas “Program” (PRG) 45<br />

III-1.3.2 – Programas “Function Block” (FB) 45<br />

III-1.3.3 – Programas “Function” (FUN) 45<br />

III-1.4 – Linguagens de programação 45<br />

III-1.4.1 – Linguagem ST – “Structured Text” 46<br />

III-2 – Execução de um projeto para <strong>TwinCAT</strong> PLC <strong>3.1</strong> 49<br />

III-2.1 – Execução do programa 49<br />

III-2.2 – Ativação do programa 52<br />

III-2.3 – Debugging do programa 53<br />

III-2.<strong>3.1</strong> – Pontos de paragem (“Breakpoint”) 53<br />

III-2.3.2 – Monitorização do fluxo de codigo (“Flow control”) 54<br />

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


BECKHOFF AUTOMATION<br />

<strong>TwinCAT</strong> V<strong>3.1</strong><br />

IV - <strong>TwinCAT</strong> <strong>3.1</strong> - HMI<br />

IV-1 – Programação do <strong>TwinCAT</strong> <strong>3.1</strong> HMI (Interface Homem Máquina) 57<br />

IV-1.1 – Criar um projeto de visualização 58<br />

IV-1.2 – Desenho da visualização 58<br />

IV-1.2.1 – Simbolos gráficos para valores digitais 58<br />

IV-1.2.2 – Simbolos gráficos para valores analógicos 60<br />

IV-1.2.3 – Simbolos gráficos para caracteres 62<br />

IV-1.2.4 – Comando de mudança de ecrãs 64<br />

IV-1.2.5 – Display de lista de texto dinamico 66<br />

IV-1.2.6 – Comando multilingue 68<br />

IV-2 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em stand-alone 73<br />

IV-2.1 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em sistemas operativos Windows XE e 7 73<br />

IV-2.1.1 – Configuração do boot do <strong>TwinCAT</strong> <strong>3.1</strong> HMI (XP e Win 7) 75<br />

IV-2.2 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em sistemas operativos Windows CE 75<br />

IV-2.2.1 – Problemas com o <strong>TwinCAT</strong> <strong>3.1</strong> HMI em full-screen com Windows CE 76<br />

IV-2.2.2 – Configuração do boot do <strong>TwinCAT</strong> <strong>3.1</strong> HMI (Win CE) 79<br />

IV-3 – Gestão do acesso funcional ao <strong>TwinCAT</strong> <strong>3.1</strong> HMI 81<br />

IV-4 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em plataforma web 85<br />

IV-4.1 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI – Web em redes LAN 85<br />

IV-4.2 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI – Web em redes Wireless 87<br />

V – <strong>TwinCAT</strong> <strong>3.1</strong> - Gestão de Livrarias<br />

V-1 – Gestão da biblioteca de livrarias 89<br />

V-2 – Criação de livrarias próprias 93<br />

VI – <strong>TwinCAT</strong> <strong>3.1</strong> - Gestão dos programas de projeto<br />

VI-1 – Gerir programas de configuração, arranque e de upload 99<br />

VI-2 – Guardar código fonte dos projetos 101<br />

VI-2.1 – Guardar projetos completos 101<br />

VI-2.2 – Guardar projetos do PLC 103<br />

VI-2.3 – Guardar POUs (PRGs, FBs, FUNs, VISUs, GVLs) 104<br />

VI-2.4 – Guardar programas de SAFETY 106<br />

VI-2.5 – Guardar programas de C++ 107<br />

VI-2.6 – Guardar configuração de IOs 108<br />

VI-3 – Gestão de versões de projeto 109<br />

VII – Conversão de projetos feitos em <strong>TwinCAT</strong> 2<br />

VII-1 – Conversão de livrarias de <strong>TwinCAT</strong> 2 (*lib) 111<br />

VII-2 – Conversão de projetos completos de <strong>TwinCAT</strong> 2 114<br />

VII-3 – Conversão de programas de <strong>TwinCAT</strong> 2 (*.pro) 119<br />

ix


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

I – Instalação do software <strong>TwinCAT</strong> <strong>3.1</strong><br />

Visão geral e instalação do <strong>TwinCAT</strong> <strong>3.1</strong><br />

A marca alemã BECKHOFF com sede em Verl, localidade situada no<br />

estado da Renânia do Norte-Vestfália, é especialista em<br />

equipamentos de automação e redes industriais. As suas soluções<br />

podem ser encontradas, por exemplo, na automação de “chão de<br />

fabrica” com o objetivo de controlo de máquinas industriais ou no<br />

controlo de edifícios. A tecnologia utilizada, desde o seu<br />

aparecimento nos anos 80 do seculo XX, é baseada na solução soft-<br />

PLC. No caso da BECKHOFF tem a designação de <strong>TwinCAT</strong>.<br />

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

BECKHOFF utilizando o software <strong>TwinCAT</strong> versão <strong>3.1</strong>. A versão 3 foi apresentada em 2011 e irá substituir a versão V2,<br />

num futuro próximo.<br />

A versão completa do <strong>TwinCAT</strong> v<strong>3.1</strong> é dividida em duas partes e que são as seguintes:<br />

+ XAE – eXtended Automation Engineering<br />

O XAE é a plataforma de desenvolvimento de software multicodigo e configuração de hardware.<br />

+ XAR – eXtended Automation Runtime<br />

O XAR é a plataforma que corre em tempo real (<strong>TwinCAT</strong> runtime) a aplicação desenvolvida no <strong>TwinCAT</strong><br />

(XAE). A versão <strong>TwinCAT</strong> <strong>3.1</strong> runtime é para Sistemas Operativos de 32 e 64 bit a partir do SO Windows 7.<br />

A versão TC <strong>3.1</strong> build 4020 suporta o Visual Studio 2015 e o Sistema Operativo Windows 10.<br />

A versão do Visual Studio deverá ser a de língua Inglesa.<br />

Nos passos seguintes iremos explicar a instalação do softPLC <strong>TwinCAT</strong> v<strong>3.1</strong> build 4020 e o Infosys (aplicação que<br />

instala toda a documentação técnica do <strong>TwinCAT</strong> <strong>3.1</strong>).<br />

I-1 – Instalação do softPLC <strong>TwinCAT</strong> v<strong>3.1</strong><br />

I-1.1 – Instalação do software de engenharia <strong>TwinCAT</strong> v<strong>3.1</strong> (XAE)<br />

Poderá recorrer ao site da BECKHOFF ( http://www.beckhoff.com) para descarregar a ultima versão disponível do<br />

software <strong>TwinCAT</strong>. Para isso dirija-se, no site anterior, à seguinte pasta (coluna do lado esquerdo):<br />

Download / Software / <strong>TwinCAT</strong>3 / TE1xxx – Engineering<br />

Clique na pasta e descarregue a Versão <strong>3.1</strong>.4020.28 ou superior disponível do <strong>TwinCAT</strong> <strong>3.1</strong> (XAE):<br />

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

[<strong>asaTek</strong> / J.Andril] 1


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

Deveremos optar pela instalação completa, “Complete”.<br />

Clique no comando “Next” para iniciar o processo e de seguida “Install”.<br />

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

[<strong>asaTek</strong> / J.Andril] 2


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

De seguida deverá dar inicio à instalação da aplicação informática TC3-InfoSys que instala, no seu PC, toda a<br />

documentação técnica (“Help file”) do <strong>TwinCAT</strong> v<strong>3.1</strong>.<br />

Deveremos optar pela instalação “Complete”. Clique no comando “Next” para iniciar o processo de instalação do<br />

TC3-InfoSys.<br />

Caso pretenda escolher a versão do Visual Studio e o idioma pretendido, para a documentação técnica, podemos<br />

optar pela configuração “Custom”.<br />

Clique no comando “Next” para iniciar o processo e de seguida “Install”.<br />

[<strong>asaTek</strong> / J.Andril] 3


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

Clique no comando “Yes” para prosseguir e no final em “Finish”.<br />

Com este ultimo passo completa-se a instalação do software <strong>TwinCAT</strong> <strong>3.1</strong>. Após a instalação poderá abrir o <strong>TwinCAT</strong><br />

<strong>3.1</strong> e clicar no comando HELP / View Help (Ctrl+F1). Assim poderá visualizar toda a documentação técnica da<br />

<strong>Beckhoff</strong> designada por <strong>Beckhoff</strong> Information System (TC3-InfoSys).<br />

Se pretender atualizar a documentação técnica de ajuda (Help) manualmente poderá fazê-lo clicando em “Update<br />

TC3-InfoSys (en-us)”, dentro da pasta <strong>Beckhoff</strong>, utilizando o botão “Start” do Windows.<br />

[<strong>asaTek</strong> / J.Andril] 4


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

I-1.2 – Instalação do software runtime <strong>TwinCAT</strong> <strong>3.1</strong> (XAR)<br />

Normalmente nos PC embedded - CX só vem instalado, no seu disco rígido, a versão XAR do <strong>TwinCAT</strong> <strong>3.1</strong>. Como os<br />

discos rígidos são geralmente pequenos e para poupar recursos de memória a plataforma de desenvolvimento não<br />

vem instalada nessas máquinas.<br />

Caso pretenda instalar só o <strong>TwinCAT</strong> <strong>3.1</strong> (XAR), na sua máquina, poderá recorrer ao site da <strong>Beckhoff</strong><br />

(http://www.beckhoff.com) e descarregar a ultima versão do <strong>TwinCAT</strong> <strong>3.1</strong> (XAR). De seguida apresentamos os<br />

passos necessários para a sua instalação (idêntica à instalação da versão completa).<br />

Poderá verificar e analisar os conteúdos dos seguintes dois pacotes:<br />

Completa (XAE+XAR) : XAR :<br />

Caso o utilizador não queira instalar o pacote completo poderá, através das opções, selecionar as pretendidas. Na<br />

sua instalação o software irá detetar automaticamente se o sistema é de 32 ou 64 bits. Só a partir da versão <strong>TwinCAT</strong><br />

<strong>3.1</strong> é que suporta ambientes de 32 ou 64 bits.<br />

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

[<strong>asaTek</strong> / J.Andril] 5


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

I-2 – Ativação das licenças do software<br />

I-2.1 – Ativação das licenças do XAR por software<br />

De seguida iremos explicar como devemos ativar as licenças trial ou definitiva das aplicações desenvolvidas no<br />

<strong>TwinCAT</strong> XAE e descarregadas no softPLC <strong>TwinCAT</strong> <strong>3.1</strong> (XAR).<br />

I-2.1.1 – Ativação de licenças trial<br />

A grande vantagem do <strong>TwinCAT</strong> é podermos utilizar o seu software runtime livremente, durante 7 dias. Isso permite<br />

o teste funcional dos programas de automatismo desenvolvidos no XAE. Finalizado esse período de tempo o softPLC<br />

<strong>TwinCAT</strong> <strong>3.1</strong> (XAR) runtime deixa de funcionar e o programa descarregado não corre. Poderá ativar uma nova licença<br />

por mais 7 dias e repetir esse processo as vezes que quiser, desde que o não utilize para fins comerciais.<br />

Após efetuado o desenvolvimento do projeto e compilado ao descarregarmos para o softPLC o <strong>TwinCAT</strong><strong>3.1</strong> deteta<br />

automaticamente quais as licenças necessárias a serem ativadas.<br />

Podemos ativar as licenças manualmente, em versão trial durante um período de 7 dias, clicando na pasta “SYSTEM”<br />

/” License” da plataforma de desenvolvimento <strong>TwinCAT</strong> (XAE).<br />

Existem 4 opções no menu “License”.<br />

“Order Information (Runtime)”: Menu onde pode solicitar a licença trial ou definitiva<br />

“Manage Licenses”<br />

: Podemos ativar manualmente as licenças requeridas<br />

“Project Licenses”<br />

: As licenças necessárias para o projeto em curso<br />

“Online Licenses”<br />

: Licenças que se encontram ativas<br />

Na subpasta “Manage Licenses” ativamos manualmente as licenças pretendidas pondo um visto no campo “Add<br />

License”.<br />

[<strong>asaTek</strong> / J.Andril] 6


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

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

De seguida surgirá uma janela pop-up de verificação de código. Aqui terá de replicar o código de 5 carateres (case<br />

sensitive) indicado na janela superior.<br />

Após clicar em “OK” será mostrado uma janela que informa que temos 7 dias de autorização para o uso do softPLC.<br />

Este processo pode-se repetir após os 7 dias de licença.<br />

Caso haja uma incompatibilidade de licenças, já residentes, o softPLC não passará para run-mode. Esse estado é<br />

indicado pela mensagem “license issue time in the future -> check system time”.<br />

[<strong>asaTek</strong> / J.Andril] 7


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

Esta incompatibilidade reside no sincronismo do relógio de tempo real (system time) do controlador remoto e o do<br />

PC em que se encontra o editor de programa <strong>TwinCAT</strong> (XAE). Acerte o relógio, do seu PC ou do controlador remoto<br />

(IPC / EPC-CX), de maneira a ficarem sincronizados.<br />

I-2.1.2 – Ativação de licenças definitivas<br />

Quando se compra o <strong>TwinCAT</strong> <strong>3.1</strong> incorporado em hardware <strong>Beckhoff</strong> IPC/EPC-CX geralmente não é necessário<br />

ativar as licenças. Só é necessário se compramos separadamente o software do hardware. Nesse caso necessitamos<br />

executar os passos indicados a seguir.<br />

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

Caso pretenda visualizar e selecionar as licenças existentes no sistema, independente do projeto, selecione o<br />

comando “Ignore Project Licenses”.<br />

Selecione a subpasta “Order Information (Runtime)”.<br />

[<strong>asaTek</strong> / J.Andril] 8


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

“System Id” : Este campo não necessita ser preenchido . Serve para confirmar a autorização<br />

de ativação da licença no seu PC residente ou no controlador remoto. Neste caso terá de<br />

estar ligado por rede ao controlador/PC remoto.<br />

“Platform” : Não precisa ser preenchido, somente para confirmação.<br />

“License Id” : Introduza o nº da licença comprada.<br />

“Customer Id”: Poderá deixar em branco ou por o nome da empresa ou do equipamento.<br />

“Comment” : Poderá por um comentário da aplicação em que é usada.<br />

Clique de seguida no botão comando “Generate File …”. O sistema irá gerar um ficheiro de requisição de licença,<br />

que deverá guardar no seu disco rígido.<br />

De seguida aparece uma janela pop-up a perguntar se pretende enviar o ficheiro gerado para a <strong>Beckhoff</strong>. Caso o<br />

pretenda clique em “Yes”.<br />

Caso tenha selecionado “Yes” o sistema enviará uma mensagem para a caixa de correio tclicense@beckhoff.com.<br />

Esta mensagem contem toda a informação necessária para a <strong>Beckhoff</strong> gerar a licença definitiva.<br />

[<strong>asaTek</strong> / J.Andril] 9


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

Caso este PC não tenha rede Internet poderá copiar o ficheiro e envia-lo, para o endereço anterior, através do seu<br />

serviço de edição de email´s.<br />

Após a receção, na <strong>Beckhoff</strong>, desse email será verificada a informação relevante existente no ficheiro. Caso não haja<br />

erros será reenviado um email, de resposta, para si com um ficheiro de ativação definitiva.<br />

De seguida selecione o comando “License Response File …” e selecione o ficheiro enviado pela <strong>Beckhoff</strong>.<br />

Selecione o ficheiro enviado pela <strong>Beckhoff</strong>.<br />

Após este procedimento o seu softPLC ficará registado definitivamente.<br />

[<strong>asaTek</strong> / J.Andril] 10


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

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

tiver o sistema operativo Windows CE o ficheiro ficará guardado em \Hard Disk\<strong>TwinCAT</strong>\<strong>3.1</strong>\Target\License.<br />

Será boa politica, de gestão documental, arquivar este ficheiro. Serve de back-up de segurança na eventualidade de<br />

surgir uma avaria grave no controlador que suporta o softPLC <strong>TwinCAT</strong> <strong>3.1</strong> e que se perca a licença residente.<br />

I-2.2 – Ativação das licenças do XAR por hardware<br />

De seguida iremos explicar como devemos ativar as licenças trial ou definitiva das aplicações desenvolvidas no<br />

<strong>TwinCAT</strong> XAE e descarregadas no softPLC <strong>TwinCAT</strong>3 XAR, utilizando um dongle / hardlock.<br />

I-2.2.1 – Ativação com dongle EL6070<br />

Podemos utilizar a carta EL6070 como dongle. Esta carta contem a aplicação “Autorization Tool” para as versões<br />

TC<strong>3.1</strong>.4018 ou superior.<br />

Após o varrimento do hardware existente no seu controlador IPC/EPC-CX selecione, na pasta SYSTEM, a subpasta<br />

“License Device”. Aqui selecione na opção “Dongle ………” e de seguida “Search”.<br />

Na janela pop-up, que surgir, selecione EL6070 e clique em OK.<br />

[<strong>asaTek</strong> / J.Andril] 11


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

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

Hardware Id”.<br />

Clique no comando “Generate File…” para ser enviado um email, para a <strong>Beckhoff</strong>, com a solicitação da licença (os<br />

mesmos procedimentos do capitulo 2.1.2). Após ter recebido a licença da <strong>Beckhoff</strong> introduza-a em “License Id”.<br />

I-2.2.2 – Ativação com dongle C9900-L100 USB<br />

Podemos utilizar a pen USB C9900-L100 como dongle. Esta pen USB contem a aplicação “Autorization Tool” para as<br />

versões <strong>TwinCAT</strong> <strong>3.1</strong>.4018.26 ou superior.<br />

Após o varrimento do hardware existente no seu controlador IPC/EPC-CX selecione, na pasta SYSTEM, a subpasta<br />

“License Device”. Aqui selecione na opção “Dongle ………” e de seguida “Search”.<br />

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

[<strong>asaTek</strong> / J.Andril] 12


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

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

Hardware Id”.<br />

Finalmente, introduza a “License Id”.<br />

Clique no comando “Generate File…” para ser enviado um email, para a <strong>Beckhoff</strong>, com a solicitação da licença (os<br />

mesmos procedimentos do capitulo 2.1.2).<br />

I-2.2.3 – Como usar o dongle EL6070 e C9900-L100 USB<br />

Depois de obtermos o ficheiro de autorização, enviado pela <strong>Beckhoff</strong>, necessitamos ativar o dongle com as licenças<br />

adquiridas. Para isso tem de voltar a subpasta “License Device” e selecionar o comando “Download License To<br />

Device” para o dongle EL6070 ou C9900-L100.<br />

[<strong>asaTek</strong> / J.Andril] 13


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

Após o procedimento anterior e inserido o dongle (EL6070 ou C990-L100) no IPC ou EPC efetue um scanning ao<br />

hardware existente. As licenças serão detetadas e será apresentada uma janela pop-up para ativar as licenças no<br />

seu controlador target (IPC ou EPC). Clique em “Yes”.<br />

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

tiver o sistema operativo Windows CE o ficheiro ficará guardado em \Hard Disk\<strong>TwinCAT</strong>\<strong>3.1</strong>\Target\License.<br />

I-2.3 – Erros na ativação das licenças<br />

A solicitação do ficheiro de autorização das licenças necessárias para a aplicação no IPC ou EPC, como anteriormente<br />

explicado, terá de ser enviado para a caixa de correio tclicense@beckhoff.com . Por vezes em vez de obtermos esse<br />

ficheiro, em reposta, é-nos enviado uma notificação de erros como mostra a figura seguinte.<br />

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

[<strong>asaTek</strong> / J.Andril] 14


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

I-3 – Soluções para incompatibilidades e erros do software <strong>TwinCAT</strong> <strong>3.1</strong><br />

I-<strong>3.1</strong> – Habilitar a função INTEL VT-x<br />

Em algumas máquinas, com SO de 64bit, em que instalamos o <strong>TwinCAT</strong> <strong>3.1</strong> podemos ter alguns problemas de<br />

funcionamento do softPLC inerentes à configuração do BIOS do PC. Isso deve-se à configuração da função Tecnologia<br />

de Virtualização Intel – VT-x existente no BIOS do IPC com o <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

Esse erro é reportado quando executamos a ordem de Startup do runtime, do softPLC TwinCAR-XAR, em realtime.<br />

As mensagens que surgem são as seguintes:<br />

Na versão <strong>TwinCAT</strong> <strong>3.1</strong>.4020 a janela é a seguinte:<br />

[<strong>asaTek</strong> / J.Andril] 15


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

É necessário executar o “Enable” da opção VT-X, no BIOS. Para executar essa operação no PC deverá inicia-lo.<br />

Durante o processo de arranque carregue na tecla função F2 até que o ecrã do BIOS seja exibido. De seguida vá para<br />

o submenu “Advanced” / “CPU Configuration”.<br />

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

e selecione “Enabled”.<br />

Para finalizar reinicie o PC clicando em “Save Changes and Reset”<br />

[<strong>asaTek</strong> / J.Andril] 16


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

Nas especificações do <strong>TwinCAT</strong> <strong>3.1</strong> é mencionado claramente que os sistemas operativos de 64bit deverão suportar<br />

o serviço de “Intel Virtulization Tecnlogy – VT-x”, como podemos verificar na figura seguinte.<br />

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

Caso o seu PC não suporte, o serviço VT-x, existe uma outra solução alternativa. Essa alternativa passa por ativar<br />

isoladamente um único core do microprocessador.<br />

Clique na pasta “Real-Time” no comando “Set on target”.<br />

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

o PC será reiniciado.<br />

Após o reiniciar do PC abra o <strong>TwinCAT</strong> <strong>3.1</strong> e clique no comando “Read from Target”. Verifique se existe, na janela<br />

apresentada, somente um RT-CPU ativo e com o limite máximo de 100%.<br />

Caso exista essa configuração a TASK, do RT-CPU do softPLC, encontra-se atribuída a 100% ao kernel do core 3 da<br />

CPU. O erro anterior deverá ser eliminado.<br />

[<strong>asaTek</strong> / J.Andril] 17


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

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

Em algumas máquinas, com SO Windows 10 de 64bit, em que instalamos o <strong>TwinCAT</strong> v<strong>3.1</strong> podem surgir alguns<br />

problemas de funcionamento do softPLC no arranque do real-time. Neste caso deverá seguir o mesmo<br />

procedimento, anteriormente descrito, no que se refere a isolar o processamento num único core da CPU.<br />

[<strong>asaTek</strong> / J.Andril] 18


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

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

Em algumas máquinas, com SO Windows 8 de 64bit, em que instalamos o <strong>TwinCAT</strong> v<strong>3.1</strong> podem surgir alguns<br />

problemas de funcionamento do softPLC no arranque do real-time. Esse erro é reportado por “system clock setup<br />

fails”.<br />

Neste caso deverá abrir e correr um programa batch residente no PC com <strong>TwinCAT</strong> (XAR). Esse programa está<br />

localizado na seguinte pasta C:\<strong>TwinCAT</strong>\<strong>3.1</strong>\System\win8settick.bat . De seguida reinicie o PC.<br />

I-3.4 – Incompatibilidade do <strong>TwinCAT</strong> <strong>3.1</strong> com Windows XP<br />

A nova versão <strong>TwinCAT</strong><strong>3.1</strong>.4020 não pode ser instalada nos sistemas operativos Windows XP. Isso deve-se a que<br />

este sistema operativo suporta o NET4.0 e a versão TC<strong>3.1</strong>.4020 vem com o VS2013 shell. Esta versão do VS2013<br />

necessita do NET4.5. Neste caso recomendamos atualizar o sistema operativo para Windows 7 ou superior, se<br />

possível.<br />

Caso não seja possível a atualização do sistema operativo, a outra alternativa, é continuar a usar o sistema operativo<br />

Windows XP e descarregar o VS2010 shell do site da Microsoft. De seguida instale o TC<strong>3.1</strong>.4020 usando a plataforma<br />

Visual Studio 2010 shell.<br />

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

Este erro deve-se à existência de software antivírus que inibe a instalação do <strong>TwinCAT</strong> <strong>3.1</strong>. Neste caso deverá, antes<br />

da instalação, desativar o software antivírus e se possível a firewall (não é obrigatório).<br />

[<strong>asaTek</strong> / J.Andril] 19


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

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

No <strong>TwinCAT</strong> <strong>3.1</strong> poderá surgir um erro de abertura de porta quando do arranque do “<strong>TwinCAT</strong> PLC Control”.<br />

A solução é reinstalar o <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

I-3.7 – Falha da pagina inicial do <strong>TwinCAT</strong> <strong>3.1</strong> (“Start Page”)<br />

Quando o software <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) é iniciado deverá apresentar uma pagina principal (“Start Page”). Por vezes,<br />

quando inicializamos o software, essa pagina não é apresentada e é mostrada uma janela de aviso de erro.<br />

O motivo é a ausência, no seu PC, dessa pagina na pasta “Documents”. Essa pagina tem o formato xml e tem o nome<br />

“TcXaeStartPage.<strong>3.1</strong>.xaml”. Caso tenha uma copia, em outro PC, pode copia-la e coloca-la na pasta<br />

“\Libraries\Documents\Visual Studio 2013 \ StartPages”.<br />

[<strong>asaTek</strong> / J.Andril] 20


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

I-3.8 – Simultaneidade do softPLC <strong>TwinCAT</strong> (XAR) v2 e v3 no mesmo PC<br />

É possível em PCs com Sistemas Operativos de 32bit instalar o softPLC <strong>TwinCAT</strong> (XAR) v2 e v3. O único requisito é<br />

não poder “correr” as duas versões ao mesmo tempo. Teremos de optar por qual das versões do softPLC queremos<br />

em funcionamento. Existe uma aplicação informática que nos permite comutar de uma versão para a outra e que<br />

tem o nome de “TcSwitchRuntime”. É instalada automaticamente quando da instalação do <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

I-3.9 – Alinhamento de dados consistentes no <strong>TwinCAT</strong> <strong>3.1</strong><br />

No <strong>TwinCAT</strong> v2 os dados eram alinhados por byte. Caso tenhamos de converter um programa feito em <strong>TwinCAT</strong> v2<br />

para v3 temos de ter em conta que na versão 3, do <strong>TwinCAT</strong>, é diferente. Isso pode provocar, se não tivermos<br />

conhecimento desse fato, problemas de funcionamento do algoritmo do programa.<br />

No <strong>TwinCAT</strong> <strong>3.1</strong> o alinhamento de dados é feito com 8 bytes. Isto significa que temos dados consistentes num pacote<br />

de 8 bytes.<br />

[<strong>asaTek</strong> / J.Andril] 21


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo I<br />

Por exemplo:<br />

[<strong>asaTek</strong> / J.Andril] 22


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

II – <strong>TwinCAT</strong> <strong>3.1</strong> - IO<br />

Visão geral da aplicação <strong>TwinCAT</strong> <strong>3.1</strong> IO<br />

Para os utilizadores que estão habituados a programar no <strong>TwinCAT</strong> v2 existe<br />

uma aplicação informática, separada do editor de programa PLC Control,<br />

designada de System Manager. Esta aplicação serve para configurar o IO´s<br />

(Inputs/Outputs) do hardware utilizado no projeto de automação.<br />

No <strong>TwinCAT</strong> 3 o configurador de hardware encontra-se integrado na mesma<br />

plataforma do editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) e designa-se por<br />

<strong>TwinCAT</strong> IO.<br />

O <strong>TwinCAT</strong> IO vai permitir fazer o varrimento do hardware colocado no<br />

“terreno” e deteta-lo de uma forma automática, evitando assim erros de<br />

configuração. Na pasta IO encontrará posteriormente todos os drives<br />

(representados por icons com o nome “Term x”) do hardware encontrado.<br />

Nos capítulos seguintes iremos explicar os procedimentos necessários para configurar os IO’s, do hardware<br />

encontrado no controlador remoto, com o software <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

II-1 – Comunicação com o controlador “target”<br />

Ligue-se ao seu controlador IPC / EPC-CX, através de uma ligação Ethernet, usando um cabo com ficha RJ45.<br />

De seguida inicialize o editor de projeto <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) e crie um novo projeto.<br />

Para efetuar esse passo clique em “New <strong>TwinCAT</strong> Project…” ou na barra de comandos clique em “File”/”New”.<br />

De seguida, na pasta “<strong>TwinCAT</strong> Project”, selecione no template “<strong>TwinCAT</strong> XAE Project (XML format)”. Caso pretenda,<br />

poderá alterar o nome do projeto “<strong>TwinCAT</strong> Project1”. Defina o caminho (“Location”) onde pretende guardar o<br />

projeto (“Solution name”) escrevendo ou usando o comando “Browse…”.<br />

[<strong>asaTek</strong> / J.Andril] 23


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

Criado o projeto abra a pasta “SYSTEM” e clique em “Choose Target”.<br />

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

[<strong>asaTek</strong> / J.Andril] 24


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

Clique no botão de comando “Broadcast Search” para iniciar o varrimento (“scan”) dos controladores existentes no<br />

“terreno” (“target”). Se souber o endereço IP do controlador “target” poderá inseri-lo na janela “Enter Host Name<br />

/ IP :” e de seguida carregue na tecla “Enter”.<br />

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

a seguinte informação:<br />

Host Name : CP-0C5DFA<br />

Connected : x<br />

Nome do controlador do CX, IPC ou CP<br />

“x” indica que foi efetuada a ligação<br />

Address : 169.254.162.186 Endereço IP do controlador remoto (“target”)<br />

AMS NetID : 169.254.16<strong>3.1</strong>86.1.1 Endereço do protocolo de comunicação AMS<br />

<strong>TwinCAT</strong> : <strong>3.1</strong>.4018 Indicação da versão do TC3 instalada no controlador<br />

OS Version : Windows 7<br />

Versão do Sistema Operativo instalado (CE, WinXP, Win7)<br />

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

[<strong>asaTek</strong> / J.Andril] 25


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

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

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

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

Windows XP / 7 User name : Administrator ; Password : 1<br />

Windows CE User name : (não tem) ; Password : (não tem)<br />

[<strong>asaTek</strong> / J.Andril] 26


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

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

Feche a janela para voltarmos à forma anterior.<br />

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

clique em “OK”. Na barra de comandos, do editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> (XAE), deverá aparecer o controlador<br />

“target” selecionado.<br />

Clique, na mesma barra de comandos anterior, no icon do <strong>TwinCAT</strong> (cor azul) para colocarmos o softPLC <strong>TwinCAT</strong><br />

(XAR) em modo de configuração (“Config Mode”). De seguida clique em “OK”.<br />

[<strong>asaTek</strong> / J.Andril] 27


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

II-2 – Configuração dos IO´s (“hardware”)<br />

Após comunicação e registo do controlador “target” deverá dar inicio ao varrimento (“scan”) do hardware IO´s<br />

(Inputs/Outputs) existente no controlador “target”.<br />

Execute o comando “Scan” para iniciar o processo de varrimento. Surgirá um pop-up informativo a alertar que o<br />

processo automático, de deteção de hardware, poderá não encontrar todos equipamentos. Clique em “OK”.<br />

Após a execução do “scan” selecione os “devices” pretendidos para trabalhar no controlador “target”. Surgirão<br />

janelas pop-up informativas em que deverá clicar em “Yes”.<br />

Finalizado o processo de “scan” deverá surgir na pasta I/O, do editor <strong>TwinCAT</strong> <strong>3.1</strong> (XAE), a seguinte “árvore” com o<br />

hardware detetado no controlador “target”.<br />

[<strong>asaTek</strong> / J.Andril] 28


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

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

é colocar o rato em cima do icon “I/O” / “Devices” e selecionar “Add New Item”, com a tecla direita. Coloque o drive<br />

EtherCAT Master ( “EtherCAT” / “EtherCAT Master” ) .<br />

De seguida, em cima de “Device 1 (EtherCAT)”e com a tecla direita do rato, selecione em “Add New Item…”. Da lista<br />

apresentada deverá selecionar, na pasta “System Couplers”, o drive “ EK1100 EtherCAT Coupler (2A E-Bus)”.<br />

[<strong>asaTek</strong> / J.Andril] 29


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

O passo seguinte é colocar cartas de entradas e saídas e uma porta de expansão. No icon “Term1 (EK1100)”, com a<br />

tecla direita do rato, selecione o comando “Add New Item”. Selecione a carta de entradas digitais “Digital Input<br />

Terminals (EL1xxx)” “EL1004”.<br />

Com o mesmo método anterior, adicione uma carta de saídas digitais e uma porta EtherCAT de expansão. Selecione<br />

a carta de entradas digitais em “Digital Output Terminals (EL2xxx)” “EL2024”e em “System Terminals” <br />

“EK1110 EtherCAT extension” uma carta com uma porta EtherCAT.<br />

Se de seguida registarmos e ativarmos no <strong>TwinCAT</strong> (XAR), esta configuração, deverá surgir uma janela com uma<br />

informação de erro. Isto deve-se a que a porta da rede EtherCAT não se encontra configurada.<br />

[<strong>asaTek</strong> / J.Andril] 30


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

Para configurar esta porta “Device 1 (EtherCAT)” selecione a segunda sub-pasta “Adapter”. No campo “PCI Bus/Slot”<br />

clique o comando “Search”.<br />

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

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

[<strong>asaTek</strong> / J.Andril] 31


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

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

II-3 – Linkagens dos IO´s (“software”)<br />

Após a definição do hardware existente no controlador “target” teremos de executar o programa de automação que<br />

posteriormente será “descarregado” (“download”) para o softPLC <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

Para iniciarmos a execução de um novo projeto teremos de selecionar no icon “PLC”, com a tecla direita do rato, o<br />

comando “Add New Item…”.<br />

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

[<strong>asaTek</strong> / J.Andril] 32


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

Na pasta “POUs” deverá clicar, duas vezes seguidas, em “MAIN”. De seguida poderá dar início à escrita do programa<br />

do automatismo em ST (“Structured Text”).<br />

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

selecione o comando “Build”.<br />

O sistema automaticamente compila o programa para “código máquina”. Se não houver erros de compilação, na<br />

janela inferior do editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> (XAE), deverá surgir a seguinte mensagem “Build complete – 0<br />

errors, 0 warnings : ready for download”.<br />

[<strong>asaTek</strong> / J.Andril] 33


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

Para começar a executar as linkagens entre as variáveis IO´s do programa (software) e os IO´s físicos (hardware)<br />

clique na pasta “test Instance”.<br />

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

[<strong>asaTek</strong> / J.Andril] 34


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

Depois das variáveis linkadas deverá registar, essa configuração, no SoftPLC <strong>TwinCAT</strong> <strong>3.1</strong> (XAR). Execute o comando<br />

“Activate Configuration” na pasta “<strong>TwinCAT</strong>” da barra de comandos.<br />

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

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<br />

temporária de 7 dias (trial license). Clique em “Yes”. Copie os 5 dígitos apresentados na janela de cima e de seguida<br />

clique em “OK”.<br />

Coloque o softPLC <strong>TwinCAT</strong> <strong>3.1</strong> (XAR) em modo RUN clicando em “OK”.<br />

“Descarregue” o programa (“download”) para o softPLC <strong>TwinCAT</strong> <strong>3.1</strong> “target”. Clique na barra de comandos em<br />

“Login”.<br />

[<strong>asaTek</strong> / J.Andril] 35


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo II<br />

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

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

A partir deste momento poderá monitorizar os dados em “online”.<br />

[<strong>asaTek</strong> / J.Andril] 36


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

III – <strong>TwinCAT</strong> <strong>3.1</strong> - PLC<br />

Visão geral da aplicação <strong>TwinCAT</strong> <strong>3.1</strong> PLC<br />

Na versão 2 do <strong>TwinCAT</strong> o editor de programa é designado por PLC<br />

Control e é separado do configurador de hardware System Manager. Na<br />

nova versão 3 do <strong>TwinCAT</strong> estas duas aplicações estão incorporadas na<br />

mesma plataforma informática.<br />

A programação no <strong>TwinCAT</strong> 3 é baseada na norma IEC-61131-3.<br />

Esta norma veio permitir a uniformização das linguagens de<br />

programação de PLC´s. Anteriormente cada fabricante criava a sua<br />

própria linguagem de programação, para os seus equipamentos, o que<br />

dificultava a sua uniformização. Assim o estagio de adaptação a uma<br />

nova linguagem deixa de existir, poupando assim recursos e tempo.<br />

A norma disponibiliza, para o desenvolvimento das unidades de<br />

programa (POU´s), diversos tipos de linguagens.<br />

Podemos dividir as linguagens em dois grupos:<br />

Linguagens em modo Texto<br />

“Structured Text” (ST) e “Instruction List” (IL)<br />

Linguagens em modo gráfico<br />

“Continuous Function Chart” (CFC); “Function Block Diagram” (FBD)<br />

“Ladder Logic Diagram” (LD); “Sequential Function Chart” (SFC)<br />

A escolha estará sempre dependente do programador, embora se<br />

recomende alguns tipos de linguagem de programação para cada tipo de automatismos.<br />

Em projetos que tenha uma componente de automatismos electropneumáticos a melhor opção de programação é a<br />

linguagem Ladder (LD) ou a linguagem GRAFCET (SFC). Isto deve-se que a que as linguagens gráficas permitem mais<br />

facilmente, à equipa de manutenção, a deteção de avarias na instrumentação e nos acionamentos. Nas partes do<br />

projeto em que é necessário tratar, calcular e movimentar dados a melhor opção é a utilização de linguagem<br />

estruturada ( ST).<br />

Nota-se muitas vezes a origem dos programadores e a respetiva “escola”. Geralmente os programadores de empresas<br />

Alemãs optam pelas linguagens FBD e ST. As empesas Americanas o Ladder e as Francesas o GRAFCET (SFC).<br />

III-1 – Introdução à norma IEC 61131-3<br />

III-1.1 – Tipo de dados standard<br />

Na norma IEC-61131-3 todas variáveis terão de ser declaradas com um tipo de dado standard ou um tipo de dado<br />

complexo. Os tipos de dados standard permitidos são os representados na tabela seguinte:<br />

Tipo de dado Valor Max. Valor Min. Tamanho<br />

BOOL False True 1 bit<br />

BYTE 0 255 8 bit<br />

WORD 0 65535 16 bit<br />

DWORD 0 4294967295 32 bit<br />

SINT -127 127 8 bit<br />

USINT 0 255 8 bit<br />

INT -32768 32767 16 bit<br />

[<strong>asaTek</strong> / J.Andril] 37


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

UINT 0 65535 16 bit<br />

DINT -2147483648 2147483647 32 bit<br />

UDINT 0 4294967295 32 bit<br />

LINT -2 63 2 63 -1 64 bit<br />

ULINT 0 2 64 -1 64 bit<br />

TIME_OF_DAY TOD#00:00:00 TOD#23:59:59 32 bit<br />

DATE D#1970-01-01 D#2106-02-07 32 bit<br />

DATE_AND_TIME DT#1970-01-01- DT#2106-02-07- 32 bit<br />

00:00:00 06:28:15<br />

TIME T#0s T#49D17H2M47S295MS 32 bit<br />

REAL -3.4*10 38 3.4*10 38 32 bit<br />

LREAL -1.7*10 308 1.7*10 308 64 bit<br />

STRING<br />

São dados ASCII. Cada carater ocupa um BYTE. A dimensão<br />

máxima é de 255 caracteres.<br />

WSTRING<br />

São dados UNICODE. Permite carateres em chinês, japonês,<br />

árabe, etc. Cada carater ocupa dois BYTES. Não há dimensão<br />

máxima para a string.<br />

No <strong>TwinCAT</strong> 3 o tipo de dados mais comuns são representados da seguinte forma :<br />

Tipo variável Exemplo<br />

BOOL True 2#1 16#1 1<br />

False 2#0 16#0 0<br />

WORD 2#1010111111111110 16#AFFE 45054<br />

INT 2#1000000000000001 16#8001 -32768<br />

TIME T#1h T#60m T#3600000ms<br />

D Dia<br />

H Horas T#0.5 T#12h T#43200000ms<br />

M Minutos<br />

S Seg. T#30m18s90ms T#0.505025h T#1818090ms<br />

mS mS<br />

REAL 0.3333 3.333e-1<br />

As variáveis declaradas são para ser utilizadas dentro dos programas (POU´s). Poderão ser declaradas como LOCAIS<br />

ou GLOBAIS.<br />

[<strong>asaTek</strong> / J.Andril] 38


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

Podemos também declarar variáveis com o tipo de dados complexos. É o caso dos ARRAY, STRUCTURE,<br />

ENUMERATION, etc.<br />

O ARRAY é representado por “ARRAY [0..n] OF data_type”. No exemplo seguinte apresentamos a declaração de<br />

variáveis ARRAY com diversos tipos de dados.<br />

Caso necessitemos de controlar a violação dos limites do ARRAY (ex: b: ARRAY [0..90] OF INT), inferior a 0 e superior<br />

a 90, podemos usar a Função Checkbound para controlar e corrigir esses desvios.<br />

Esta Função é muito simples de utilizar e deverá sempre ser usada nos programas, como “POU for Implicit Checks..”,<br />

para controlar o índex dos ARRAY´s.<br />

Todas as variáveis quando declaradas, alem de cumprir regras de sintaxe, poderão também ser alocadas a endereços<br />

absolutos (%I* , %Q* ou %M*). Esses endereços absolutos de memória correspondem a entradas físicas (Inputs -<br />

%I), saídas físicas (Outputs - %Q) ou posições de memória fixas (%M).<br />

O sinal “*” significa que não estamos a indicar o endereço real, mas um endereço que será atribuído<br />

automaticamente pelo software <strong>TwinCAT</strong> 3, posteriormente. Caso saibamos o endereço real absoluto dos inputs ou<br />

dos outputs poderá declara-lo como mostra a figura seguinte.<br />

[<strong>asaTek</strong> / J.Andril] 39


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

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

Todas as variáveis terão de ser declaradas como LOCAIS (só manuseáveis no POU em que foi declarada) ou GLOBAIS<br />

(manuseáveis em todos os POU´s do projeto).<br />

Existem campos predefinidos quando se cria um POU. Esses campos, de variáveis declaradas, dos POU´s são<br />

representados pelas seguintes palavra-chave:<br />

// Variáveis de Entrada<br />

VAR_INPUT END_VAR<br />

// Variáveis de Saída<br />

VAR_OUTPUT END_VAR<br />

// Variáveis de Entrada e Saída<br />

VAR_IN_OUT END_VAR<br />

// Variáveis Locais<br />

VAR END_VAR<br />

As variáveis GLOBAIS terão de ser declaradas na pasta com a designação GVLs (“Global Variable List”). Clique em<br />

cima dessa pasta com a tecla direita do rato e de seguida escolha em “Add” o comando “Global Variable List…”.<br />

[<strong>asaTek</strong> / J.Andril] 40


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

A partir na versão <strong>TwinCAT</strong> v<strong>3.1</strong>.4020 as variáveis globais são automaticamente indexadas ao nome atribuído ao<br />

GVL´s. Isto significa que deveremos identificar essas variáveis por esse atributo.<br />

Por exemplo: GVL.a, GVL.b, GVL.c<br />

Caso não pretenda utilizar este método é possível apagar essa propriedade [ {atribute ‘qualified_only’} ]<br />

apresentada na 1º linha da pasta das variáveis globais GVLs.<br />

III-1.1.1 – Variáveis Constantes<br />

Caso pretendamos declarar uma variável com uma constante e que não seja afetada por um corte de energia ao PLC<br />

podemos declará-la como CONSTANT. Está variável, após a compilação, só permite a sua leitura e nunca permitirá<br />

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<br />

(download).<br />

III-1.1.2 – Variáveis Retentivas<br />

Em muitas situações de construção de máquinas industrias necessitamos guardar parâmetros de máquina que terão<br />

os valores de defeito do funcionamento das mesmas. Estes dados não podem ser voláteis. Isto significa, se ocorrer<br />

um corte de energia ao PLC, estes valores não se podem perder.<br />

Essas variáveis serão declaradas como PERSISTENT .<br />

Existem Funções Bloco que automaticamente executam o backup desses dados na memória (flash ou disco duro)<br />

antes do corte de energia. Para evitar falhas de dados recomenda-se que os PLCs tenham uma UPS externa ou<br />

interna ( supercondensador de 1s).<br />

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

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

[<strong>asaTek</strong> / J.Andril] 41


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

III-1.2 – Tipo de dados complexos<br />

Alem do tipo de dados standard, apresentados no capitulo anterior, a norma IEC-61131-3 permite declarar variáveis<br />

com outro tipo de dados. Esses dados são designados de complexos.<br />

Esses dados são declarados como DTUs (“Data Unit Type”) e deverão ser declarados dentro de uma estrutura com<br />

os limites definidos pelas palavras-chave TYPE e END_TYPE. Os tipos de dados complexos disponíveis na norma são<br />

STRUCTURE, ENUMERATION, ALIAS e UNION.<br />

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

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

III-1.2.1 – DUTs do tipo “Structure”<br />

STRUCTURE é um tipo de dados definido pelo utilizador (DUT). São uma importante ajuda na gestão de dados.<br />

As estruturas, do tipo de dado STRUCTURE, permitem construir base de dados com diversos elementos de tipo<br />

de dados diferentes incluindo outras STRUCTURE. As STRUCTURE são usadas tal como uma variável de um único<br />

elemento.<br />

Sintaxe:<br />

TYPE :<br />

STRUCT<br />

: ;<br />

: ;<br />

: ;<br />

END_STRUCT<br />

END_TYPE<br />

[<strong>asaTek</strong> / J.Andril] 42


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

Exemplo:<br />

III-1.2.2 – DUT do tipo “Enumeration”<br />

ENUMERATION é um tipo de dados definido pelo utilizador (DUT). É composto por constantes (números inteiros)<br />

referenciados a um nome “string”. Essas constantes são designadas por enumeração. Os valores de enumeração<br />

são reconhecidos em todas as áreas do projeto mesmo se elas foram declaradas localmente dentro do POU. As<br />

enumerações são declaradas como objetos na pasta DUTs.<br />

Com a utilização de variáveis do tipo ENUMERATION permite-nos uma leitura clara e fácil do funcionamento do<br />

programa desenvolvido. Como cada nome “string”, declarada na ENUMERATION, deve ter um significado<br />

funcional no algoritmo serve-nos como comentário visível tambem em modo online. Se tivéssemos de usar<br />

constantes inteiras, em vez de ENUMERATION, a interpretação do algoritmo era mais difícil.<br />

Sintaxe:<br />

TYPE :<br />

,…;<br />

END_TYPE<br />

Podemos usar o mesmo nome de enumeração ( ), com constantes diferentes, desde que sejam<br />

declaradas em identificadores de enumeração diferentes.<br />

Exemplo:<br />

(*Dentro da pasta “DTUs”*)<br />

TYPE Dia_semana:<br />

(Seg,Ter,Qua,Qui,Sex,Sab,Dom:=10); (*Seg=0…Sab=5 e Dom = 10*)<br />

END_TYPE<br />

TYPE Fim_semana:<br />

(Sabado, Dom); (*Sabado = 0 Dom = 1*)<br />

END_TYPE<br />

III-1.2.3 – DUT do tipo “Alias”<br />

Podemos usar o tipo ALIAS quando desejamos criar um nome alternativo para uma variável, constante ou Função<br />

Bloco (FB). Assim criamos um novo tipo de dado.<br />

Sintaxe:<br />

Exemplo:<br />

TYPE :<br />

;<br />

END_TYPE<br />

(*Dentro da pasta “DTUs”*)<br />

TYPE Mensagem:<br />

STRING(90);<br />

END_TYPE<br />

[<strong>asaTek</strong> / J.Andril] 43


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

III-1.2.4 – DUT do tipo “Union”<br />

Usamos o tipo UNION quando desejamos criar um tipo de dado, definido pelo utilizador (DUT), com a mesma<br />

configuração de dados do tipo STRUCTURES. Ao contrário das STRUCTURES, os dados definidos como UNION, irão<br />

ficar localizados sempre nos mesmos endereços absolutos (offset) na área de memória RAM. Esse endereço absoluto<br />

não varia e é independente da compilação do programa (“Rebuild”).<br />

Sintaxe:<br />

Exemplo:<br />

TYPE :<br />

UNION<br />

: ;<br />

: ;<br />

: ;<br />

END_UNION<br />

END_TYPE<br />

Em vez de utilizarmos uma UNION podíamos endereçar as mesmas variáveis a endereços absolutos do tipo %M.<br />

Neste caso, tal como nas UNION, as variáveis irão ficar localizados sempre nos mesmos endereços absolutos.<br />

III-1.3 – Tipo de Unidade de Organização de Programa (POUs)<br />

Na norma IEC61131-3 existem 3 tipos de POUs (“Program Organization Unit”) “Program” (PRG); “Function Block”<br />

(FB) e “Function” (FUN).<br />

[<strong>asaTek</strong> / J.Andril] 44


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

III-1.<strong>3.1</strong> – Programas “Program” (PRG)<br />

O programa principal, por defeito, tem o nome de “MAIN” e é do tipo “Program” (PRG). Este programa MAIN é<br />

inicializado por uma tarefa temporal (“Task”).<br />

Os programas “Program” (PRG) tem as seguintes características:<br />

Os programas PRG podem chamar FBs, FUNs e outros PRGs<br />

Podem usar variáveis de entrada VAR_INPUT<br />

Podem usar variáveis de saída VAR_OUTPUT<br />

Podem usar variáveis de transferência VAR_IN_OUT<br />

Podem usar variáveis locais VAR estáticas (disponíveis no próximo ciclo)<br />

Os dados locais são visíveis em modo online<br />

III-1.3.2 – Programas “Function Block” (FB)<br />

Os programas “Function Block” (FB) tem as seguintes características:<br />

Os programas FB podem chamar FBs e FUNs<br />

Podem usar variáveis de entrada VAR_INPUT<br />

Podem usar variáveis de saída VAR_OUTPUT<br />

Podem usar variáveis de transferência VAR_IN_OUT<br />

Podem usar variáveis locais VAR estáticas (disponíveis no próximo ciclo)<br />

Em múltiplas chamadas (instancias) cada FB guarda as suas variáveis em<br />

áreas de memória RAM diferentes<br />

Os dados locais são visíveis em modo online em cada instancia<br />

III-1.3.3 – Programas “Function” (FUN)<br />

Os programas “Function” (FUN) tem as seguintes características:<br />

Os programas FUN podem chamar FUNs<br />

Podem usar variáveis de entrada VAR_INPUT<br />

Pode usar 1 variável de saída<br />

Não podem usar variáveis de transferência VAR_IN_OUT<br />

Variáveis locais temporárias não visíveis em online (???)<br />

III-1.4 – Linguagens de programação<br />

Todos os POUs, apresentados neste capitulo, poderão ser programados em diversos tipos de linguagem. Esses tipos<br />

de linguagens dividem-se nos seguintes grupos funcionais:<br />

Linguagens em modo Texto<br />

“Structured Text” (ST)<br />

“Instruction List” (IL)<br />

Linguagens em modo gráfico<br />

“Continuous Function Chart” (CFC)<br />

“Function Block Diagram” (FBD)<br />

“Ladder Logic Diagram” (LD)<br />

“Sequencial Function Chart” (SFC)<br />

A escolha estará sempre dependente do programador, embora se recomende alguns tipos de linguagem de<br />

programação para cada tipo de automatismos.<br />

Em projetos que tenha uma componente de automatismos eletropneumáticos, a melhor opção de programação é a<br />

linguagem Ladder (LD) ou a linguagem GRAFCET (SFC). Isto deve-se que as linguagens gráficas permitem mais<br />

facilmente, à equipa de manutenção, a deteção de avarias na instrumentação e nos acionamentos. Nas partes do<br />

projeto em que é necessário tratar, calcular e movimentar dados a melhor opção é a utilização de linguagem<br />

estruturada (ST).<br />

[<strong>asaTek</strong> / J.Andril] 45


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

Não cabe no âmbito deste Manual de <strong>Formação</strong> a explicação detalhada de cada uma destas linguagens. Todavia,<br />

iremos de seguida explicar resumidamente a linguagem mais “apetecível” dos programadores modernos. A<br />

linguagem estruturada designada por ST-“Structured Text”.<br />

III-1.4.1 – Linguagem ST - “Structured Text”<br />

A linguagem ST é uma linguagem em formato texto e parecida com a linguagem de alto nível PASCAL. A lista de<br />

instruções em ST dividem-se em dois grandes grupos operacionais e que são os seguintes :<br />

Instruções de decisão<br />

Simples decisão (IF….THEN….END_IF)<br />

Dupla decisão (IF…THEN…ELSE…END_IF)<br />

Múltipla decisão (IF…THEN…ELSIF…ELSIF…END_IF)<br />

[<strong>asaTek</strong> / J.Andril] 46


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

Instruções de seleção<br />

Multiseleção (CASE…OF…0:…1:…n:…ELSE…END_CASE)<br />

Instruções de loop<br />

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

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

[<strong>asaTek</strong> / J.Andril] 47


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

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

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

[<strong>asaTek</strong> / J.Andril] 48


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

III-2 – Execução de um projeto para <strong>TwinCAT</strong> PLC v<strong>3.1</strong><br />

Neste capitulo, de uma maneira simples e concisa, iremos descrever os passos necessários para a execução de um<br />

pequeno projeto a correr no <strong>TwinCAT</strong> PLC v<strong>3.1</strong>.<br />

III-2.1 – Execução do programa<br />

Abra um novo projeto no <strong>TwinCAT</strong> V<strong>3.1</strong> clicando, com a tecla direita do rato, no icon PLC e de seguida no comando<br />

“Add New Item…”.<br />

Na janela pop-up atribua um nome ao seu projeto, selecione o template “Standard PLC Project” e clique no botão<br />

de comando “Add”.<br />

Automaticamente será criada, na pasta POUs, um programa PRG em linguagem estruturada (ST) com o nome MAIN.<br />

Este programa é chamado por uma Task temporal.<br />

[<strong>asaTek</strong> / J.Andril] 49


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

Para adicionar novos POUs devemos clicar em cima do icon POUs com a tecla direita do rato e escolher o comando<br />

“Add” / “ POU…”.<br />

De seguida, neste projeto, iremos adicionar uma Função Bloco (FB) com o nome “FB_Flash” e em linguagem<br />

estruturada (ST). Neste novo FB iremos, em primeiro lugar, declarar as variáveis de entrada (VAR_INPUT), as<br />

variáveis de saída (VAR_OUTPUT) e as variáveis locais (VAR).<br />

O modo de funcionamento pretendido para este FB é de um automatismo de “pisca pisca”. Para executar este modo<br />

de funcionamento iremos usar um temporizador do tipo TON. A instancia desse temporizador é fb_Ton1.<br />

Ao longo do desenvolvimento do programa poderá usar a tecla função F2 para escolher as instancias ou as variáveis.<br />

[<strong>asaTek</strong> / J.Andril] 50


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

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

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

dessa instancia é FB_Flash1.<br />

Na primeira linha de texto do programa MAIN pressione na tecla função F2 e escolha, na pasta “Instance Calls”, a<br />

instancia FB_Flash1 e clique em “OK”.<br />

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

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

[<strong>asaTek</strong> / J.Andril] 51


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

Uma vez o programa concluído daremos inicio à sua compilação (“build”). Clique , com a tecla direita do rato, em<br />

cima do icon “SampleProject Project” e escolha o comando “Build”.<br />

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

III-2.2 – Ativação do programa<br />

Após a conclusão da compilação do projeto teremos de ativar a configuração no sistema. Para isso deverá fazer o<br />

Login ao PLC target selecionado. Ao fazermos o Login o programa é descarregado para o softPLC residente no<br />

controlador target. Para começar a correr o programa clique em “Start PLC”.<br />

O Login só será permitido se o seu softPLC target estiver em modo RUN. Caso esteja em modo CONFIG (icon com<br />

cor azul) deverá coloca-lo em modo RUN (icon cor verde)<br />

Em modo online podemos monitorizar o programa a correr.<br />

[<strong>asaTek</strong> / J.Andril] 52


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

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

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

III-2.3 – Debugging do programa<br />

Por vezes é necessário fazer o debugging (deteção de erros na programação) do algoritmo do programa. O editor<br />

de programa <strong>TwinCAT</strong> <strong>3.1</strong> fornece ferramentas para depurar falhas de algoritmo.<br />

III-2.<strong>3.1</strong> – Pontos de paragem (Breakpoint)<br />

A ferramenta mais utilizada é o comando de breakpoint. Este comando vai permitir que o programa corra só até à<br />

linha onde foi colocado. Para criar um breakpoint clique na linha pretendida e de seguida na tecla função F9. Irá<br />

surgir nessa linha, com o fundo amarelo, um sinal vermelho (lado esquerdo da linha).<br />

O programa poderá ser analisado e depurado passo a passo utilizando os seguintes comandos :<br />

Se pretender parar o debugging clique na linha onde tinha colocado o comando breakpoint e pressione de novo na<br />

tecla função F9. O sinal vermelho, colocado do lado esquerdo, desaparece permanecendo só o fundo amarelo.<br />

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

[<strong>asaTek</strong> / J.Andril] 53


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

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

Outra técnica utilizada para depurar erros de algoritmo é usar o comando de controlo de fluxo (flow control) de<br />

código. Permite-nos, de uma maneira colorida (cor verde), visualizar as partes de código que se encontram ativas.<br />

Ao selecionar o comando “Flow Control”, na barra de ferramentas, surgirá uma janela pop-up informativa. Clique<br />

em “OK”.<br />

A partir deste momento as linhas de codigo, que estão ativas no programa, são assinaladas com uma cor de fundo<br />

verde. As restantes com a cor de fundo branco. Assim, mais facilmente sabemos qual das linhas de código se<br />

encontram ativas e a serem executadas.<br />

Na mesma barra de ferramentas, ao lado do icon de “FlowControl”, existe um icon de “Single Cycle”. Cada vez que<br />

clicarmos neste icon o programa corre um ciclo (um scanning de cada vez).<br />

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

Por vezes necessitamos visualizar simultaneamente diversas variáveis colocadas em blocos de programas separados.<br />

Nesta situação podemos utilizar as janelas de “Watch 1”, “Watch 2”, “Watch 3” ou “Watch 4”.<br />

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

Clique em uma delas.<br />

[<strong>asaTek</strong> / J.Andril] 54


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

Clique no campo da coluna “Expression”.<br />

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

ou poderá escrever manualmente a variável pretendida.<br />

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

[<strong>asaTek</strong> / J.Andril] 55


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo III<br />

[<strong>asaTek</strong> / J.Andril] 56


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV – <strong>TwinCAT</strong> <strong>3.1</strong> - HMI<br />

Visão geral da aplicação <strong>TwinCAT</strong> <strong>3.1</strong> HMI<br />

Na versão 2 do <strong>TwinCAT</strong>, o editor de Interface Homem Máquina é<br />

designado por Visualization e está integrado no editor de programa<br />

<strong>TwinCAT</strong> PLC Control. Na nova versão 3 do <strong>TwinCAT</strong> esta aplicação<br />

encontra-se na pasta PLC e dentro da subpasta designada por VISUs.<br />

Os diversos ecrãs de visualização, que pretendemos ter para<br />

monitorizar ou manobrar o automatismo, serão criados e colocados<br />

dentro da subpasta VISUs. Estes ecrãs poderão ser chamados<br />

automaticamente através de ordens vindas do programa residente<br />

no softPLC ou através de ordens do operador.<br />

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

Interface”) stand-alone. Isto significa, caso tenhamos um ecrã touch<br />

ligado à carta gráfica do PCe-CX, que podemos visualizar todo o<br />

automatismo como se tivéssemos uma consola HMI. Neste caso não<br />

necessitamos de ter o editor de projeto <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) aberto.<br />

Se a utilizarmos como ajuda à programação e integrada na<br />

plataforma de desenvolvimento <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) poderá utilizar<br />

uma licença trial de 7 dias.<br />

O <strong>TwinCAT</strong> <strong>3.1</strong> – VISUs disponibiliza uma vasta gama de símbolos<br />

gráficos dinâmicos. Estes símbolos poderão ser utilizados na feitura<br />

da HMI, no projeto de automação, não necessitando assim de<br />

importar símbolos externos.<br />

Nos capítulos seguintes iremos, passo a passo, explicar o modo de programação de uma Interface Homem Máquina<br />

(HMI) para visualização de um processo integrado no <strong>TwinCAT</strong> softPLC <strong>3.1</strong>.<br />

IV-1 – Programação do <strong>TwinCAT</strong> <strong>3.1</strong> HMI (Interface Homem Máquina)<br />

IV-1.1 – Criar um projeto de visualização<br />

Para criar um novo projeto de visualização teremos de clicar na pasta VISUs com a tecla direita do rato. De seguida<br />

clique em “Add” e escolha o comando “Visualization…”.<br />

[<strong>asaTek</strong> / J.Andril] 57


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

Nesta janela existe uma<br />

opção de escolha com o<br />

nome:<br />

“VisuSymbols (System)”<br />

Esta opção, caso seja<br />

ativada, disponibiliza<br />

uma livraria da <strong>Beckhoff</strong><br />

com uma vasta coleção<br />

de símbolos.<br />

Será carregada no<br />

gestor de livrarias, do<br />

projeto, “References”<br />

diversas livrarias de<br />

símbolos e que são<br />

visíveis na “Toolbox<br />

graphics controls”.<br />

Após executar o comando anterior surgirá no editor de programa, na coluna do lado direito, uma subpasta designada<br />

“Toolbox”. Nesta subpasta “Toolbox” estão guardados uma vasta lista de símbolos gráficos.<br />

IV-1.2 – Desenho da visualização<br />

IV-1.2.1 – Símbolos gráficos para valores digitais<br />

Neste capitulo começamos por renomear o ecrã “Visualization” com o nome “Visu1”. De seguida damos inicio ao<br />

desenho de uma simples HMI com 2 símbolos gráficos. Um botão e um sinalizador. Para podemos visualizar o seu<br />

funcionamento teremos de escrever este pequeno programa no PLC.<br />

[<strong>asaTek</strong> / J.Andril] 58


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Após a execução do programa do PLC coloque no ecrã de visualização “visu1” um botão e de seguida um sinalizador.<br />

Selecione, na coluna esquerda “Toolbox”, na pasta “Basic” a subpasta de símbolos “Lamps/Switches/Bitmaps”.<br />

Escolha os símbolos “Dip switch” e “Lamp”. Arraste-os para o ecrã “Visu1”.<br />

De seguida teremos de configurar cada um destes dois símbolos. Para isso teremos de recorrer a cada uma das<br />

propriedades da “Lamp” e do “Dip switch”. Selecione com o rato o símbolo pretendido e verifique as suas<br />

propriedades no submenu “Properties”.<br />

Para conseguirmos que os símbolos do botão e do sinalizador tenham os seus estados dinâmicos, teremos de atribuir<br />

a cada um deles uma variável do programa.<br />

Teremos, no campo das propriedades “Variable”, escolher a variável booleana “input” que foi atribuída ao botão do<br />

tipo “Dip switch” e a variável “output” atribuída ao sinalizador do tipo “Lamp”.<br />

[<strong>asaTek</strong> / J.Andril] 59


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Após a configuração das propriedades dos dois objetos colocados na HMI “visu1” compile o programa fazendo “Build<br />

Solution”(não é obrigatório) e descarregue-o para o softPLC fazendo “Login” “Run”.<br />

O “Login” só será permitido se o seu softPLC target estiver em modo RUN. Caso esteja em modo<br />

CONFIG (icon com cor azul) deverá coloca-lo em modo RUN (icon cor verde)<br />

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

Em edição<br />

Em funcionamento<br />

IV-1.2.2 – Símbolos gráficos para valores analógicos<br />

Neste passo iremos colocar na HMI um objeto analógico. Esse objeto será escolhido na Toolbox (coluna do lado<br />

direito do editor) na pasta de símbolos “Measurement Controls” o símbolo “Meter”. Arraste-o para o ecrã “Visu1”.<br />

Em edição<br />

Para podemos visualizar o seu funcionamento teremos de<br />

escrever um pequeno programa no PLC, com o seguinte<br />

código:<br />

[<strong>asaTek</strong> / J.Andril] 60


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

De seguida teremos de configurar este símbolo analógico. Para isso teremos de selecionar com o rato o símbolo<br />

“Meter” e de seguida recorra ao submenu das propriedades.<br />

No campo das propriedades “Value” clique na parte direita da janela em branco. Deverá surgir uma janela pop-up<br />

para selecionarmos a variável atribuída, no programa do PLC, a este símbolo analógico.<br />

Após a escolha da variável daremos inicio à configuração dos limites funcionais de escala do “Meter”. Deverá na<br />

propriedade “Scale” alterar 4 parâmetros. Substitua os valores de defeito pelos seguintes:<br />

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

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

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

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

Em funcionamento<br />

Coloque, em cada umas das propriedades, os valores apresentados na figura anterior. Após essa configuração<br />

descarregue o programa para o PLC clicando em “Login” “Run”.<br />

Na HMI poderá verificar, em online, a variação da variável MAIN.a do programa do PLC. A variação desse valor<br />

analógico, no símbolo “Meter”, faz-se dentro da escala de 0.0 até 1000.0.<br />

[<strong>asaTek</strong> / J.Andril] 61


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV-1.2.3 – Símbolos gráficos para carateres<br />

Neste passo iremos colocar na HMI um objeto que possa visualizar carateres de qualquer formato (chineses,<br />

arábicos, etc). Para podemos visualizar o seu funcionamento iremos escrever o seguinte programa no PLC.<br />

No programa foi declarada a variável “arr1”, do tipo de dado WSTRING, com a frase inicial “BECKHOFF”. Na HMI<br />

iremos colocar um objeto retangular. Para isso deverá na Toolbox (coluna do lado direito do editor) e na pasta de<br />

símbolos “Basic” escolher o símbolo “Rectangle”. Arraste-o para o ecrã “Visu1”.<br />

Em cima do retângulo será colocada uma etiqueta informativa. Na pasta “Common Controls”, da Toolbox,<br />

escolhemos o símbolo “Label”. Arrastamos para cima do retângulo colocado na visualização “visu1”.<br />

De seguida teremos de configurar o objeto “Rectangle” colocado na visualização. Clicamos nesse objeto e saltamos<br />

para as suas propriedades (coluna esquerda “Properties”). Selecione a propriedade “Texts” e “Text variable” e<br />

configure com os dados apresentados nas figuras seguintes:<br />

Clique duas vezes na janela em branco da propriedade “Texts”/”Text” e escreva %s . De seguida clique duas vezes<br />

na janela em branco da propriedade “Text variables”/” Text variable” e clique o comando existente<br />

nessa janela. Deverá surgir uma janela pop-up com a lista de variáveis já declaradas no seu programa do PLC. Escolha<br />

a variável “MAIN.arr1” do tipo wstring.<br />

Como pretendemos que o objeto “Rectangle” seja sensível ao toque do rato, quando o colocamos em cima dele,<br />

será necessário configurar a propriedade “Inputconfiguration” / “OnMouseDown”. Selecione e coloque a ação<br />

“Write a Variable”.<br />

[<strong>asaTek</strong> / J.Andril] 62


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

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

A seguir teremos de configurar a etiqueta “Label” colocada em cima do retângulo. Clique nesse símbolo. Nas suas<br />

propriedades “Texts”/”Text” escreva “string”. Outra opção é escrever, na janela em branco do símbolo, “Label”<br />

Depois de efetuadas todas as configurações das propriedades dos objetos descarregue o programa para o PLC<br />

clicando em “Login” “Run”.<br />

Estado inicial<br />

Clique no Input box<br />

Nesta janela, como esta declarada uma variável do tipo wstring, aceita a escrita de carateres não nacionais tais como<br />

carateres em chinês, árabe, etc.<br />

[<strong>asaTek</strong> / J.Andril] 63


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV-1.2.4 – Comando de mudança de ecrãs<br />

Na maioria dos projetos de visualização (HMI) não temos só um ecrã de visualização, mas sim diversos. Por isso é<br />

necessário colocar comandos, nessas visualizações, que nos permita saltar entre ecrãs. Neste capitulo iremos<br />

explicar o procedimento para concretizar essa tarefa. De seguida iremos criar um novo ecrã com o nome “visu2”. Na<br />

pasta VISUs com o comando “Add”/”Visualization” atribua o nome “visu2” e clique em “Open”.<br />

Uma vez criado o novo ecrã coloque um botão que vai permitir saltar para o ecrã anterior “visu1”. Clique na coluna<br />

Toolbox e selecione “Button” que se encontra dentro da pasta “Common Controls”. Arraste-o para a visualização.<br />

Selecione com o rato o símbolo gráfico “Button”. Altere as propriedades “Texts”/“Text” escrevendo “Go to viso2”.<br />

Este texto, colocado no botão, é informativo para os operadores da HMI.<br />

De seguida iremos configurar a ação a efetuar por este botão. Neste caso pretendemos saltar para o ecrã “visu1”.<br />

Clique na propriedade “Inputconfiguration” e escolha a ação “OnMouseClick” na janela “Configure…”.<br />

Deverá surgir uma janela pop-up para selecionarmos a ação pretendida para o botão anterior. Selecione a ação<br />

“Change shown Visualization” e coloque-a na coluna esquerda dessa janela pop-up.<br />

[<strong>asaTek</strong> / J.Andril] 64


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

Selecione a visualização “visu1” e cilque em “OK”. O mesmo passo terá de efetuar, no ecrã de visualização “visu1”,<br />

de maneira a poder saltar para a visualização “visu2”. O botão de comando de salto é igual ao colocado e explicado<br />

no ecrã “visu2”.<br />

Depois de efetuadas todas as configurações das propriedades dos botões de comando, de salto de ecrãs,<br />

descarregue o programa para o PLC clicando em “Login” “Run”. Clique no botão de comando “Go to visu2” e o<br />

ecrã seguinte deverá surgir no PC.<br />

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

[<strong>asaTek</strong> / J.Andril] 65


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV-1.2.5 – Display de lista de texto dinâmico<br />

Neste capitulo iremos explicar como colocar num ecrã de visualização de uma HMI uma janela que nos permita ver<br />

texto em modo dinâmico. Utiliza-se estes objetos dinâmicos para indicar o estado de funcionamento da máquina ou<br />

mostrar alarmes de um processo.<br />

Para podemos demonstrar o seu funcionamento iremos escrever o seguinte programa no PLC. No programa foi<br />

declarada uma variável “iVar1” com o dado INT de “0”.<br />

De seguida iremos criar uma lista de texto com os erros de processo que pretendemos reportar na HMI. Clique na<br />

pasta VISU´s, com a tecla direita, em “Add” / “Text List…”.<br />

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

Nesta lista de texto “ErrorList” comece a escrever a lista de erros, na coluna “Default”, indexado a um nº inteiro<br />

(coluna “ID”).<br />

Após a construção da “base de dados”, com uma lista de erros, teremos de criar um display que mostre em dinâmico<br />

o estado ou o erro que a máquina apresenta. Para isso teremos de acrescentar, no ecrã “visu2”, um símbolo gráfico<br />

do tipo retângulo. Clique na Toolbox em “Basic” / “Rectangle”.<br />

[<strong>asaTek</strong> / J.Andril] 66


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Após a colocação do símbolo gráfico, do tipo retângulo, clique na “Properties” desse objeto gráfico e configure a<br />

propriedade “Dynamic texts”/“Text list”. Na janela em branco clique e escolha “ErrorList” como mostra a figura<br />

seguinte:<br />

Clique no comando existente na parte direita da janela em branco da propriedade “Text índex”. Deverá surgir<br />

uma janela pop-up com a lista de variáveis declaradas no programa do PLC. Escolha a variável INT com o nome<br />

“iVar1”. De seguida clique em “OK”.<br />

Caso pretendamos alterar na HMI a variável INT “iVar1”, para assim visualizarmos a lista de erros, podemos colocar<br />

no ecrã um comando gráfico do tipo “combo”. Para isso recorra à Toolbox e escolha o comando “Common Controls”<br />

/ “SpinControl” e arraste-o para o ecrã “visu2”.<br />

Clique neste novo objeto gráfico e configure a propriedade “Position” / “Variable” com a variável “MAIN.iVar1”.<br />

De seguida clique em “OK”.<br />

[<strong>asaTek</strong> / J.Andril] 67


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Depois de efetuadas todas as configurações das propriedades dos objetos gráficos, colocados anteriormente,<br />

descarregue o programa para o PLC clicando em “Login” “Run”.<br />

No ecrã “visu2” clique no símbolo de controlo “SpinControl” que mostra o nº inteiro “0” e altere para “2”.<br />

Imediatamente o texto, apresentado no display de texto em cima, altera.<br />

IV-1.2.6 – Comando multilingue<br />

Cada vez mais os fabricantes de máquinas industriais exportam as suas máquinas e sistemas para diversos<br />

continentes e países. Por essa razão há necessidade que as HMIs se apresentem no idioma do utilizador final. Existe<br />

a possibilidade de criar uma “base de dados” (lista de texto) com a tradução multilingue de todas as frases e palavras<br />

usadas na HMI.<br />

Nesta capitulo iremos explicar como se processa essa configuração. Iremos começar pela criação da lista de texto<br />

com os idiomas que pretendemos utilizar na nossa HMI. Na pasta VISUs selecione “GlobalTextList”<br />

Clique duas vezes em “GlobalTextList”. Surgirá uma janela pop-up com o texto já escrito na HMI. Clique nessa janela,<br />

com a tecla direita do rato. Escolha o comando “Add Language”.<br />

[<strong>asaTek</strong> / J.Andril] 68


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Escreva “Chinese” na janela do “Choose language” e clique em “OK”.<br />

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

De seguida crie uma nova coluna “English” seguindo os procedimentos anteriores.<br />

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

Para podermos escolher o idioma, que pretendemos trabalhar na HMI, teremos de colocar no ecrã dois icons que<br />

representem cada uma das línguas. Usaremos icons com os símbolos das bandeiras da China e a da UK. Para executar<br />

esta operação vamos clicar na pasta VISUs e escolher a função “Image Pool…”.<br />

[<strong>asaTek</strong> / J.Andril] 69


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

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

name”, no comando .<br />

No pop-up que surge, de seguida, escolha as figuras pretendidas para representar cada um dos idiomas. No nosso<br />

caso o Chinês e o Inglês. É possível escolher diversos tipos de formato de imagem, como mostra a figura seguinte.<br />

Após a escolha das respetivas imagens clique em “OK”.<br />

Após a execução das tarefas anteriores estamos prontos a colocar, no ecrã “visu1”, dois símbolos que permitam ao<br />

operador escolher o idioma com que pretende trabalhar.<br />

[<strong>asaTek</strong> / J.Andril] 70


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

Ao efetuarmos o arrasto do símbolo “Image”, para a área de trabalho do ecrã, surgirá automaticamente um pop-up<br />

designado de “Input Assistant”. Devemos selecionar a categoria “Imagepool” e escolher a figura pretendida. De<br />

seguida clique em “OK”.<br />

[<strong>asaTek</strong> / J.Andril] 71


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Após colocarmos as duas imagens, como mostra o ecrã anterior, devemos dar inicio à configuração destes dois<br />

objetos de maneira a ficarem ativos ao toque do rato. Isto é, quando pretendermos alterar a língua apresentada na<br />

HMI devemos clicar no símbolo com a bandeira da China ou da UK.<br />

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

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

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

Depois de efetuadas todas as configurações das propriedades dos objetos gráficos, colocados anteriormente,<br />

descarregue o programa para o PLC clicando em “Login” “Run”.<br />

[<strong>asaTek</strong> / J.Andril] 72


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV-2 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em stand-alone<br />

Até este capitulo explicámos o modo de colocar e parametrizar diversos símbolos numa HMI e que se encontram<br />

disponíveis na Toolbox. Uma vez completada a Interface Homem Máquina seria importante que a nossa Interface<br />

fosse visível num ecrã em full-screen e em modo Run. Esta solução irá permitir substituir uma possível consola<br />

gráfica, diminuindo assim os custos da automação. Utilizaremos a HMI desenvolvida na plataforma do <strong>TwinCAT</strong> <strong>3.1</strong><br />

(XAE) em modo stand-alone.<br />

IV-2.1 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em sistemas operativos Windows XP e 7<br />

Nos casos de máquinas IPC ou EPCs/CX em que temos instalados sistemas operativos Windows XP ou 7 teremos de<br />

efetuar alguns procedimentos para conseguirmos ter uma HMI em stand-alone.<br />

Para criar uma HMI de arranque automático, quando a máquina inicializa, teremos de recorrer à pasta “Visualization<br />

Manager”. Clique nessa pasta.<br />

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

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

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

[<strong>asaTek</strong> / J.Andril] 73


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Como se pretende que sejam visíveis os carateres chineses é necessário ativar a propriedade “Unicode”. Clique duas<br />

vezes na pasta “Visualization Manager” e coloque um visto em “Use Unicode strings”.<br />

Como a aplicação HMI runtime, a correr em IPC ou EPC-CX com o <strong>TwinCAT</strong> PLC <strong>3.1</strong>, não é gratuita teremos de<br />

comprar e ativar uma licença. Caso pretenda só utilizar como demonstração poderá gerar uma licença de 7 dias.<br />

Depois de efetuadas as configurações anteriores ative as configurações clicando no icon “Active configuration”. De<br />

seguida descarregue o programa para o PLC clicando em “Login” “Run”.<br />

Selecione a pasta C:\<strong>TwinCAT</strong>\<strong>3.1</strong>\Components\Plc\Tc3PlcHmi existente no IPC. Clique duas vezes no ficheiro<br />

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

Contem a seguinte informação:<br />

AmsNetID : Endereço AMS do equipamento em que<br />

correrá a HMI (127.0.0.1.1.1)<br />

AmsPort : Porta do softPLC (851)<br />

StartVisualization : Ecrã de inicialização (“start-up”)<br />

UpdateRate(ms) : Tempo de update dos dados<br />

De seguida, caso queira correr a HMI em modo stand-alone e não integrada no editor <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) clique no<br />

ficheiro Tc3PlcHmi.exe. Não poderá estar aberto, em simultâneo, o editor TC <strong>3.1</strong>(XAE) (só é possível um cliente).<br />

[<strong>asaTek</strong> / J.Andril] 74


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

A boa visualização da HMI do <strong>TwinCAT</strong> <strong>3.1</strong> está dependente do monitor e da sua resolução com que pretendemos<br />

trabalhar. Por isso, muitas vezes, temos de configurar o ecrã para a resolução mais adequada.<br />

Para executar esta configuração deverá clicar na coluna do lado esquerdo no ecrã inicial “Visualization”. De seguida,<br />

na coluna do lado direito das “Properties” selecione a propriedade “Visualization”/“Size”/”Size mode” e escolha a<br />

opção “Specified”.<br />

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

IV-2.1.1 – Configuração do boot do <strong>TwinCAT</strong> <strong>3.1</strong> HMI (XP e Win 7)<br />

Para que a HMI seja inicializada automaticamente, em full-screen, quando do arranque do IPC ou EPC é necessário<br />

criar um atalho do ficheiro executável da HMI - Tc3PlcHmi.exe ( C:\ <strong>TwinCAT</strong>\ <strong>3.1</strong>\ Components\ Plc\ Tc3PlcHmi\ )<br />

e coloca-lo na pasta C:\ <strong>TwinCAT</strong>\ <strong>3.1</strong>\ Target\ Startup\.<br />

IV-2.2 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em sistemas operativos Windows CE<br />

Nos casos de máquinas EPCs-CX em que temos instalados sistemas operativos Windows CE teremos de efetuar os<br />

mesmos procedimentos feitos para máquinas com sistemas operativos Windows XP ou 7 (ver cap. IV.2.1).<br />

De seguida, caso queira correr a HMI em modo stand-alone no controlador remoto com o Windows CE, clique no<br />

ficheiro Tc3PlcHmi.exe . O procedimento, neste caso, é diferente dos equipamentos com sistemas operativos<br />

Windows XP ou 7.<br />

Deverá utilizar os comandos “Start”/“Run” e na janela branca do pop-up escreva “\”. De seguida clique em “OK”.<br />

[<strong>asaTek</strong> / J.Andril] 75


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Clique duas vezes no ficheiro executável Tc3PlcHmiCe7x86.exe, que se encontra no diretório \Hard Disk\ <strong>TwinCAT</strong>\<br />

<strong>3.1</strong>\ Components\ Plc\ Tc3PlcHmi, para abrir a HMI em modo full-screen.<br />

IV-2.2.1 – Problemas com o <strong>TwinCAT</strong> <strong>3.1</strong> HMI em full-screen com Windows CE<br />

O sistema operativo Windows CE é um sistema operativo que não tem as características operacionais dos sistemas<br />

mais evoluídos e robustos como o Windows XP, 7 ou posteriores. Consideramos um sistema operativo ligth e por<br />

isso algumas vezes encontramos dificuldades funcionais quando utilizamos a HMI a correr em full-screen. De seguida<br />

são apresentados alguns dos problemas que poderão surgir.<br />

<br />

1 - Ecrãs da HMI aparecem incompletos<br />

Ecrã com falta de figuras<br />

Ecrã completo<br />

Para corrigir este defeito deverá selecionar na HMI, para ambientes WinCE, em “Selected style” a<br />

opção “Default, 3.0.0.0 (<strong>Beckhoff</strong> Automation GmbH)”.<br />

[<strong>asaTek</strong> / J.Andril] 76


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

2 - Ecrãs da HMI que não suportam cores em gradient<br />

Nas HMI em ambientes WinCE os símbolos de controlo não suportam “Gradiant color” ,<br />

“Transparancy”, nem “Optimized drawing”. Serão apresentados em formato normal.<br />

3 – Ecrãs com imagens em formato .jpg<br />

Se numa HMI, a correr numa máquina com WinCE, não apareçem imagens em formato .jpg deve-se<br />

a que os sistemas operativos WinCE não suportam este formato. Recomenda-se a substituição<br />

dessas imagens pelo formato .bmp. A pasta de projeto com as imagens é a “Image Pool”/“Image”.<br />

Ecrã com imagem em .JPG<br />

Ecrã com imagem em .BMP<br />

4 – Ecrãs não apresentam os carateres chineses<br />

Se uma HMI, a correr numa máquina com WinCE, não consegue apresentar texto com carateres<br />

chineses deve-se a que os SO´s WinCE não tem instalado a respetiva fonte de carateres.<br />

Deverá instalar essa fonte de carateres, em falta, no diretório \Hard Disk\ do seu PC embedded com<br />

o Sistema Operativo WinCE.<br />

[<strong>asaTek</strong> / J.Andril] 77


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

Copie as novas fontes de carateres para esse novo diretório.<br />

De seguida registe, no sistema operativo, as novas fontes. Para isso clique duas vezes no ficheiro<br />

de registry e de seguida “Yes”.<br />

Faça o restart do sistema operativo clicando em “Yes”.<br />

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

[<strong>asaTek</strong> / J.Andril] 78


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV-2.2.2 – Configuração do boot do <strong>TwinCAT</strong> <strong>3.1</strong> HMI (Win CE)<br />

Para que a HMI seja inicializada automaticamente em full-screen quando do arranque do EPC, com um sistema<br />

operativo Windows CE, é necessário criar um ficheiro de start-up. Para isso deverá seguir os passos que explicarei<br />

nos passos seguintes.<br />

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

Na janela pop-up, que aparece, clique em “New”. De seguida, na janela “Add Item”, adicione o<br />

“ShellCommand”.<br />

comando<br />

Não coloque o nome em “Name”. Clique em “OK”.<br />

[<strong>asaTek</strong> / J.Andril] 79


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Na janela pop-up “Edit Item” e na subpasta “General” selecione, com um visto, no campo “Startup Options” as<br />

opções “Autostart” e “Start Focused”. Não recomendamos colocar 0ms no campo “Delay(ms)”. Coloque 1000ms.<br />

Na subpasta “Shell Command” e na janela “Enter Shell command” escreva o caminho “\hard Disk\ <strong>TwinCAT</strong> \ <strong>3.1</strong><br />

\ Components\ Plc \Tc3PlcHmi\Tc3PlcHmiCE7x86.exe” e de seguida clique em “OK”.<br />

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

[<strong>asaTek</strong> / J.Andril] 80


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

Se no processo de reboot do sistema operativo surgir um erro, o sistema não o conseguiu arrancar com as<br />

configurações anteriormente feitas. Será apresentada uma janela de aviso.<br />

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

IV-3 – Gestão do acesso funcional ao <strong>TwinCAT</strong> <strong>3.1</strong> HMI<br />

Neste capitulo daremos uma explicação breve como podemos gerir o acesso funcional à HMI em run-time ou a certos<br />

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<br />

comandos.<br />

Na pasta da coluna esquerda designada por “Visualization Manager” temos diversas subpastas, entre as quais uma<br />

designada por “User management”<br />

É nesta pasta que podemos criar os grupos de utilizadores, os seus níveis de acesso e permissões. Clique em “Create<br />

user management with default groups and users”. Uma vez criado esta configuração verificamos que foram criados,<br />

por defeito, 3 grupos: “Admin”; “Service” e “Operator”.<br />

[<strong>asaTek</strong> / J.Andril] 81


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

Em ambas subpastas podemos criar novos grupos de utilizadores, novos utilizadores, novas passwords, modificar<br />

os login, etc.<br />

Para testarmos estas funcionalidades vamos acrescentar no ecrã “visu1” dois comandos “Button”. Um com a função<br />

de Login e outra com a função Logout.<br />

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

[<strong>asaTek</strong> / J.Andril] 82


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

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

Podemos configurar diferentes controlos para diferentes permissões de acesso. Se pretendemos dar acesso só a<br />

utilizadores do tipo “Admin” temos de selecionar nas propriedades “Background”/ “Access Rigths”.<br />

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

seguinte.<br />

No caso de restringir o acesso, à seleção do idioma na HMI (“English” ou “Chinese”), aos utilizadores que estejam<br />

nos grupos “Service” e “Operator” deverá por um visto na coluna de “invisible” nesses dois grupos. Neste caso os<br />

símbolos, com as bandeiras da China e da UK, não ficam visíveis aos utilizadores destes dois grupos.<br />

[<strong>asaTek</strong> / J.Andril] 83


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

Após as configurações efetuadas anteriormente compile o programa e ponha a aplicação a “correr”. Verificará que<br />

os símbolos de escolha do idioma não se encontram visíveis na HMI.<br />

O comando do tipo Dip switch também será inibido à operação. Para isso deverá fazer as mesmas parametrizações,<br />

como efetuadas anteriormente, com os símbolos gráficos das bandeiras da China e UK.<br />

Quando a HMI estiver em run-time e para ter acesso a estes comandos deverá clicar em “Login”. Coloque o “User<br />

name” de “Admin” e na “Password” escreva “1”.<br />

Clique em “OK”. A partir deste momento terá acesso à manobra do switch e os símbolos gráficos, com as bandeiras<br />

da China e UK, ficam visíveis.<br />

[<strong>asaTek</strong> / J.Andril] 84


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV-4 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI em plataforma web<br />

Cada vez mais as plataformas de HMI estão a migrar de aplicações informáticas residentes em IPC ou EPC para<br />

servidores web. Esta é a tendência atual devido à grande capacidade de processamento dos controladores e da<br />

memória disponível, permitindo assim a instalação de servidores web.<br />

O <strong>TwinCAT</strong> 3 permite reconfigurar toda Interface Homem Máquina para o formato web. Para isso ser possível é<br />

necessário a instalação, nas versões superiores ao <strong>TwinCAT</strong> <strong>3.1</strong>.4018.13, de um novo pacote plug-in designado por<br />

HMI-Web com a referencia TF1810-PLC-HMI-Web.<br />

IV-4.1 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI – Web em redes LAN<br />

Para dar inicio ao funcionamento da HMI, baseada na Web, iremos criar uma rede LAN com um IPC ou EPC, um<br />

switch e um PC com o software de desenvolvimento de edição <strong>TwinCAT</strong> <strong>3.1</strong> (XAE). O Controlador baseado no IPC<br />

ou EPC terá o endereço IP 192.168.1.100 e a gateway o 192.168.1.1 como mostra a figura seguinte.<br />

O endereço da rede é o 192.168.0.0. O PC remoto, com o editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> (XAE), ficará dentro da<br />

mesma rede com o endereço 192.168.1.123 como mostra a figura seguinte.<br />

[<strong>asaTek</strong> / J.Andril] 85


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

De seguida abra o seu projeto com o editor do <strong>TwinCAT</strong> <strong>3.1</strong> (XAE). Na coluna esquerda do seu projeto clique na pasta<br />

“System” e no botão de comando “Choose target…”. Faça um varrimento aos controladores existentes na rede. Para<br />

esse fim utilize o comando “Search (Ethernet)”/“Broadcast Search”. Registe o controlador encontrado, no seu router<br />

virtual.<br />

De seguida deverá configurar o seu projeto, da HMI, para plataforma web. Para isso deverá, na coluna esquerda<br />

“Solution Explorer”, clicar na pasta de gestão das visualizações “Visualization Manager” e adicionar a função<br />

“WebVisualization”.<br />

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

fim ponha a correr o programa .<br />

Depois de finalizado com sucesso, o processo anterior, poderá fechar e sair do editor de programa <strong>TwinCAT</strong>-XAE.<br />

Abra o browser que tenha disponível no seu PC. Coloque na janela do browser o seguinte caminho:<br />

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

No nosso caso o controlador IPC/EPC-CX tem o IP 192.168.1.100. Surgirá no browser a HMI desenvolvida para a<br />

plataforma Web. Assim podemos visualizar e manobrar o nosso automatismo, através de um simples browser<br />

instalado no PC, sem necessidade de termos o <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

[<strong>asaTek</strong> / J.Andril] 86


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

IV-4.2 – <strong>TwinCAT</strong> <strong>3.1</strong> HMI – Web em redes Wireless<br />

Uma segunda via de acesso ao controlador pode ser, em vez de rede Ethernet física LAN, a utilização de<br />

comunicações wireless em equipamentos moveis tais como PC portáteis, tablets ou smartphones. Neste capitulo<br />

explico os procedimentos de configuração necessários para concretizarmos essas comunicações.<br />

Teremos de colocar o nosso controlador IPC ou EPC-CX com o IP 192.168.1.100, tal como foi feito no capitulo<br />

anterior.<br />

Com o seu equipamento móvel (PC portátil, tablet ou smartphone) entre na rede wireless disponível (ex. TP-LINK).<br />

Caso tenha uma password ou chave de encriptação deverá coloca-la. Uma vez concretizado, com sucesso, o acesso<br />

à rede wireless está pronto a comunicar com o controlador remoto (IP: 192.168.1.100).<br />

Utilize o browser colocando na janela o caminho seguinte :<br />

Http: //192.168.1.100 /Tc3PlcHmiWeb/port_851/visu/webvisu.htm<br />

Surgirá no browser do seu equipamento móvel (PC portátil, tablet ou smartphone) a HMI desenvolvida para a<br />

plataforma Web. Assim podemos, de uma maneira simples, visualizar e manobrar o nosso automatismo.<br />

[<strong>asaTek</strong> / J.Andril] 87


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo IV<br />

[<strong>asaTek</strong> / J.Andril] 88


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

V – <strong>TwinCAT</strong> <strong>3.1</strong> - Gestão de Livrarias<br />

Visão geral da gestão de livrarias no <strong>TwinCAT</strong> <strong>3.1</strong><br />

A gestão de livrarias na versão 3 do <strong>TwinCAT</strong> é diferente da versão<br />

anterior 2. A gestão é feita de uma maneira mais elaborada, sofisticada<br />

e segura.<br />

A organização das livrarias é baseada nos seguintes itens de informação:<br />

“References” - Designa a pasta, no projeto, que contem todos os<br />

“contentores” (“placeholder”) das livrarias que necessitamos.<br />

“Version” - Indica a versão da livraria existente.<br />

“Company” - Nome da empresa que a criou.<br />

“Placeholder” - Nome do placeholder em que se encontram todas os<br />

POUs, GVLs,VISUs da livraria. Dentro do placeholder podemos ter<br />

também versões anteriores da livraria.<br />

“Namespace” - Nome do atributo reservado à livraria. Com este atributo<br />

podemos ter FB´s ou FUNs, como o mesmo nome, em diversas livrarias.<br />

Para selecionar cada uma delas necessitamos atribuir o Namespace.<br />

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

instaladas na “Library repository”. No <strong>TwinCAT</strong> v2 bastava fazer copy e<br />

paste.<br />

V-1 – Gestão da biblioteca de livrarias<br />

Em todos os projetos obrigatoriamente utilizamos livrarias. Estas livrarias encontram-se na pasta “References”. As<br />

livrarias que são sempre “carregadas” automaticamente em um novo projeto são a “Tc2_Standard”, a “Tc2_System”<br />

e a “Tc3_Module”. Alem destas temos à nossa disposição, no Library repository, uma vasta gama de livrarias criadas<br />

pela <strong>Beckhoff</strong> e por outras empresas. Nem todas as livrarias disponíveis são free.<br />

Para adicionar novas livrarias terá, na pasta “References”, de clicar com a tecla direita do rato. Surgirá um janela<br />

pop-up com um menu com os seguintes 5 comandos :<br />

“Add Library…”<br />

: Adiciona uma nova livraria<br />

“Placeholders…”<br />

: Mostra os placeholders que contem as livrarias instaladas no projeto<br />

“Library repository…”<br />

: Localização do repositório de livrarias (caminho/path)<br />

“Set to Effective Version” : Mostra a versão usada, no projeto, dos placeholders das livrarias<br />

“Set to Always Newest Version” : Mostra a versão mais recente dos placeholders das livrarias<br />

[<strong>asaTek</strong> / J.Andril] 89


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

Com o comando “Add library…” conseguimos visualizar todas as livrarias à nossa disposição e selecionar a que<br />

desejamos usar no projeto. No pop-up, que surge quando clicamos em “Add library…”, se selecionarmos o comando<br />

“Advanced…” surgirá uma janela com as seguintes pastas.<br />

Na pasta “Company:” conseguimos visualizar a empresa autora da livraria. A maioria é da <strong>Beckhoff</strong> mas também<br />

podemos ter outras empresas.<br />

Se selecionarmos a opção “Display all versions (for experts only)”, com um visto, conseguimos visualizar todas as<br />

versões instaladas no placeholder da livraria do nosso PC.<br />

[<strong>asaTek</strong> / J.Andril] 90


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

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

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

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

[<strong>asaTek</strong> / J.Andril] 91


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

A outra opção de escolher a livraria pretendida para o projeto é, na janela de cima, escrever a o nome da livraria. À<br />

medida que se escreve a designação vai surgindo, na janela de baixo (assinalado com a cor amarela), as livrarias que<br />

contem essas letras embutidas.<br />

Como vimos anteriormente existem diversas maneiras de encontrarmos, no editor de projeto, as livrarias. Após a<br />

seleção feita clique em “OK”.<br />

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

[<strong>asaTek</strong> / J.Andril] 92


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

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

C: \ <strong>TwinCAT</strong> \ <strong>3.1</strong> \ Componets \ Plc \ Managed Libraries<br />

IV-2 – Criação de livrarias próprias<br />

No decorrer de diversos projetos é natural que repitamos diversos automatismos e processos. Como boa politica de<br />

gestão de recursos e de tempo convém criar livrarias próprias pertencentes à nossa empresa. Este processo pode<br />

ser efetuado também no <strong>TwinCAT</strong> <strong>3.1</strong>. Neste capitulo iremos explicar como proceder à criação dessas livrarias.<br />

Crie um projeto de PLC do tipo “Empty PLC Project”. De seguida crie os POUs que pretende colocar em livraria, tal<br />

como FBs, FUNs, etc. No nosso exemplo temos uma FB com o nome “FB_test”.<br />

De seguida necessitamos carregar e encapsular as nossas POUs no gestor de livraria do <strong>TwinCAT</strong> <strong>3.1</strong>. Para isso<br />

deverá clicar, com a tecla direita do rato, em cima do projeto do PLC e escolher o comando “Properties”.<br />

[<strong>asaTek</strong> / J.Andril] 93


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

Surgirá uma janela pop-up em que deverá introduzir dados com informação da livraria que pretende criar. Deverá<br />

preencher no formulário, obrigatoriamente, as janelas que tem o titulo em black bold . Esses campos são o nome<br />

da empresa que criou a livraria (“Company”), o titulo da livraria (“Title”) e a versão ex. 1.0 ou 1.0.0 (“Version”).<br />

Também poderá designar o “Default namespace”, o “Placeholder”, o “Author” e a “Description”. Se quiser deixar<br />

em branco poderá faze-lo.<br />

Após o preenchimento da ficha com os dados informativos da livraria clique, com a tecla direita do rato, em cima do<br />

projeto do PLC. Na janela pop-up que surgir encontrará duas opções que permitem salvar a livraria : “Save library…”<br />

e “Save as library and install…”.<br />

O comando “Save as library…” simplesmente guarda a livraria mas não a instala no repositório geral das livrarias<br />

“Library repositor”. As livrarias poderão ser guardadas com duas diferentes extensões. Uma tem a extensão “<br />

.library” em que podemos visualizar o programa fonte e a outra tem a extensão “ .compiled-library” em que não é<br />

possível visualizar o programa fonte (“source code”).<br />

[<strong>asaTek</strong> / J.Andril] 94


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

Uma vez guardada a livraria podemos passar estes ficheiros a colegas de projeto ou fornecer a outras empresas ou<br />

clientes. Essas entidades terão de a instalar no editor de projeto <strong>TwinCAT</strong> <strong>3.1</strong> (XAE).<br />

Os passos da instalação são os seguintes :<br />

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

De seguida clique “Install…”<br />

Selecione a livraria que criou e clique em “Open”.<br />

[<strong>asaTek</strong> / J.Andril] 95


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

Se a instalação da livraria for bem-sucedida deverá surgir na pasta das livrarias “(Miscellaneous)” a sua nova livraria,<br />

como mostra a figura seguinte.<br />

Também podemos confirmar a sua instalação, usando o Explorador de ficheiros do sistema operativo, no caminho<br />

C: \ <strong>TwinCAT</strong> \ <strong>3.1</strong> \ Componets \ Plc \ Managed Libraries. Verifique a sua presença.<br />

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

[<strong>asaTek</strong> / J.Andril] 96


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

Outra alternativa à instalação de livrarias é usar o comando “Save as library and install”. Este comando permite<br />

guardar e instalar, ao mesmo tempo, as suas livrarias. Este comando deve ser usado se estivermos a usar o PC de<br />

desenvolvimento dos projetos de automação <strong>TwinCAT</strong> <strong>3.1</strong> (XAE).<br />

Como nota final deste capitulo, informo que é possível atribuir nomes iguais a POUs e que pertencem a livrarias<br />

diferentes. A seleção desses POUs (FBs ou FUNs), no programa, é feita pelo namespace como mostra a figura<br />

seguinte.<br />

[<strong>asaTek</strong> / J.Andril] 97


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo V<br />

[<strong>asaTek</strong> / J.Andril] 98


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

VI – <strong>TwinCAT</strong> <strong>3.1</strong> – Gestão dos programas de projeto<br />

Visão geral da gestão dos programas de projeto no <strong>TwinCAT</strong> <strong>3.1</strong><br />

Todos os projetos “descarregados” (“download”) no PLC poderão ser recuperados e guardados no nosso PC. Esse<br />

processo, designado por upload do programa, só é possível se após o “descarregar” do programa para o softPLC<br />

executarmos alguns procedimentos. Na versão 2 do <strong>TwinCAT</strong> tinha a designação de sourcecode download.<br />

Este capitulo aborda os procedimentos necessários para o upload de programas residentes em softPLCs com <strong>TwinCAT</strong><br />

<strong>3.1</strong>, o backup dos projetos executados no editor <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) e a gestão de compatibilidade de versões.<br />

VI-1 – Gerir programas de configuração, arranque e de upload<br />

Para conseguirmos executar o upload de um programa residente no softPLC <strong>TwinCAT</strong> <strong>3.1</strong> é necessário e obrigatório<br />

proceder à “descarga” (“download”) do programa designado por sourcecode (“Project Sources”).<br />

Clique duas vezes na pasta do projeto do PLC (ex. “Untitled1”) e na subpasta “Settings” ative a propriedade “Project<br />

Sources”, como mostra a figura seguinte:<br />

Se pretendemos que o nosso projeto fique protegido a possíveis copias, por terceiros, não coloque o visto em<br />

“Project Sources”. Assim ninguém conseguirá fazer o “upload” do programa residente no softPLC. Esta operação era<br />

designada no <strong>TwinCAT</strong> v2 por “Sourcecode download”.<br />

Quando executamos o comando “Activate Configuration”, com a opção “Project Sources”, irá ativar/registar a<br />

configuração do hardware no sistema e criar o ficheiro que permitirá o upload do programa.<br />

Uma vez completada a operação anterior poderá encontrar, na pasta “Boot” do seu IPC ou EPC-CX, uma subpasta<br />

com o nome “CurrentConfig” e um ficheiro com extensão *.tszip com o mesmo nome. Estes ficheiros correspondem<br />

ao ficheiro soucecode que permitirá executar o upload do programa residente no softPLC. Se copiarmos estes<br />

ficheiros para a pasta “Boot”, de outro PC com o softPLC TC <strong>3.1</strong> , temos uma copia do projeto feita manualmente.<br />

[<strong>asaTek</strong> / J.Andril] 99


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

Um procedimento, também muito importante, que terá de ser sempre efetuado é a inicialização automática do<br />

programa do automatismo residente no softPLC <strong>TwinCAT</strong> <strong>3.1</strong>. Para isso terá de parametrizar a opção “Autostart<br />

Boot Project”, como mostra a figura seguinte.<br />

Destaco e relembro os comandos que existem e que terão de ser ativados, após a finalização do projeto de<br />

automação. Destaco os seguintes:<br />

1º - “Activate Boot Project…” - Executa o Boot manualmente<br />

2º -“Autostart Boot Project…” - Executa automaticamente o Boot quando se fizer “Activate Configuration”<br />

O programa sourcecode e a sua configuração é descarregada para o softPLC target quando se fizer “Activate<br />

Configuration”.<br />

Após a execução dos diversos procedimentos, explicados anteriormente, estamos pronto para fazer uma copia<br />

residente no softPLC target. Para isso deverá cumprir os passos seguintes:<br />

Na barra de comando existente na parte superior do editor do <strong>TwinCAT</strong> 3 clique em “File” / “Open”. Na janela popup<br />

escolha o comando “Open Project from Target…”.<br />

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

Se o controlador (softPLC target) estiver conectado e ativo surgirá uma janela pop-up onde poderá selecionar a pasta<br />

onde quer guardar o ficheiro do upload.<br />

[<strong>asaTek</strong> / J.Andril] 100


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

VI-2 – Guardar código fonte dos projetos<br />

Geralmente o programa fonte do nosso automatismo é guardado diretamente no nosso editor de projeto <strong>TwinCAT</strong>-<br />

XAE. Este programa fica guardado no PC do editor e automaticamente são criadas diversas pastas em que contem<br />

todos os ficheiros e código do projeto.<br />

Muitas vezes quando abrimos este projeto, em outro PC, com uma versão do Visual Studio diferente do original em<br />

que foi feito surge uma janela de erro, como mostra a figura seguinte.<br />

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

VI-2.1 – Guardar projetos completos<br />

Para conseguirmos facilmente abrir um projeto, em outro PC, com o editor <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) devemos guardar o<br />

projeto completo. De seguida mostramos quais os passos a executar.<br />

Para “salvar” o projeto completo clique, com a tecla direita do rato, na pasta do projeto do <strong>TwinCAT</strong> <strong>3.1</strong> (ex.<br />

“<strong>TwinCAT</strong> Project3”) e escolha o comando “Save <strong>TwinCAT</strong> Project3 as Archive…”.<br />

Na janela pop-up que surgir escolha o caminho onde quer colocar o ficheiro e o seu formato (ex. *.tszip). Clique em<br />

“Save” (“Guardar”).<br />

[<strong>asaTek</strong> / J.Andril] 101


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

Após efetuado o procedimento anterior podemos abrir o projeto num editor instalado em outro PC. O procedimento<br />

para a abertura desse projeto é o seguinte:<br />

Clique, na barra de comando superior do editor <strong>TwinCAT</strong> <strong>3.1</strong>, no comando “FILE”/”Open”/“Project/Solution…”. Na<br />

janela pop-up que surgir selecione o ficheiro *.tszip guardado anteriormente.<br />

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

[<strong>asaTek</strong> / J.Andril] 102


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

VI-2.2 – Guardar projetos do PLC<br />

Para conseguirmos guardar projetos, do softPLC <strong>TwinCAT</strong> <strong>3.1</strong>, que sejam facilmente abertos em outros PC´s devemos<br />

seguir os seguintes procedimentos:<br />

Para salvar o projeto do PLC (ex. New) clique, com a tecla direita do rato, na pasta do projeto designado por PLC e<br />

escolha o comando “Save New as Archive…” como mostra o exemplo (ex. “New”) da figura seguinte.<br />

Na janela pop-up selecione a pasta onde deseja guardar este novo projeto de PLC, em formato *.tpzip. De seguida<br />

clique em “Save” (“Guardar”).<br />

Para abrirmos um projeto de PLC já arquivado anteriormente em formato *.tpzip clique, com a tecla direita, na pasta<br />

PLC e escolha o comando “Add Existing Item…” como mostra a figura seguinte.<br />

[<strong>asaTek</strong> / J.Andril] 103


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

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

VI-2.3 – Guardar POUs (PRGs, FBs, FUNs, VISUs, GVLs)<br />

Para conseguirmos guardar partes de POUs existentes nos projetos, para transferi-los para outros, devemos seguir<br />

os seguintes procedimentos:<br />

No exemplo o arquivo é um POU do tipo FB. O procedimento é idêntico para outros tipos (PRGs,FBs,VISUs ou GVLs).<br />

Clique no POU que pretende arquivar, com a tecla direita do rato, e escolha o comando “Export PLCopenXML…”.<br />

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

[<strong>asaTek</strong> / J.Andril] 104


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

Para abrirmos um POU já arquivado clique, com a tecla direita, na pasta POUs e escolha o comando “Import<br />

PLCopenXML…” como mostra a figura seguinte.<br />

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

Na janela pop-up que surgir pode ativar e selecionar os Method e Property se o POU possuir estas propriedades. Por<br />

defeito ambos estão selecionados. Clique de seguida em “OK”.<br />

[<strong>asaTek</strong> / J.Andril] 105


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

VI-2.4 – Guardar programas de SAFETY<br />

Para conseguirmos guardar programas de “segurança máquina” SAFETY, que poderão existir em alguns projetos,<br />

para transferi-los para outros devemos seguir os seguintes procedimentos:<br />

Clique na pasta SAFETY, com a tecla direita do rato, e escolha o comando “Save Safety New as Archive…” como<br />

mostra o exemplo (Ex. “Safety New”) da figura seguinte.<br />

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

Para abrirmos um projeto de SAFETY já arquivado anteriormente clique, com a tecla direita, na pasta SAFETY e<br />

selecione o comando “Add Existing Item…” como mostra a figura seguinte.<br />

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

[<strong>asaTek</strong> / J.Andril] 106


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

VI-2.5 – Guardar programas de C++<br />

Para conseguirmos guardar os programas desenvolvidos em “linguagem de alto nível C++” clique na pasta C++, com<br />

tecla direita do rato, e selecione o comando “Save Untitled2 as Archive…” como mostra o exemplo (Ex. “Untitled2”)<br />

da figura seguinte.<br />

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

Para abrirmos um projeto de C++ já arquivado anteriormente clique, com a tecla direita, na pasta C++ e selecione o<br />

comando “Add Existing Item…” como mostra a figura seguinte.<br />

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

[<strong>asaTek</strong> / J.Andril] 107


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

VI-2.6 – Guardar configuração de IOs<br />

Para conseguirmos guardar a configuração de IO´s, que anteriormente no <strong>TwinCAT</strong> 2 correspondia ao ficheiro do<br />

System Manager, clique com a tecla direita do rato na pasta “Device 1”. De seguida selecione o comando “Save<br />

Device 1 (EtherCAT) As…” como mostra o exemplo (Ex. “Device 1 (EtherCAT)”) da figura seguinte.<br />

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

Para abrirmos um projeto dos “Devices” já arquivado anteriormente clique, com a tecla direita, na pasta “Devices”<br />

e selecione o comando “Add Existing Item…” como mostra a figura seguinte.<br />

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

[<strong>asaTek</strong> / J.Andril] 108


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

IV-3– Gestão de versões de projeto<br />

O grande problema atualmente é a evolução rápida do software, surgindo novas versões. Isto provoca, por vezes,<br />

incompatibilidades entre versões devido a serem acrescentadas novas funções e que poderão ser incompatíveis com<br />

versões anteriores.<br />

A partir da versão 4020 do <strong>TwinCAT</strong> <strong>3.1</strong> notou-se um incremento de novas funções e que são incompatíveis com as<br />

versões anteriores. Para evitar este problema, a partir da versão 4020 do TC <strong>3.1</strong>, a instalação de novas versões é<br />

feita criando pastas paralelas. Assim tendo estas diferentes atualizações e versões, instaladas em pastas do mesmo<br />

PC, conseguimos facilmente comutar de uma versão para a outra. Evita-se assim a dificuldade, por não possuirmos<br />

a versão correta, de abertura de projetos já feitos.<br />

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

Para evitar erros e incompatibilidades de versões de desenvolvimento e de runtime convém termos as versões<br />

antigas de desenvolvimento. Correntemente existem duas versões de “Engineering Remote Manager” no site da<br />

<strong>Beckhoff</strong> .<br />

De seguida mostro os procedimentos necessários para comutar de versão se tivermos alguma incompatibilidade da<br />

versão de runtime, a correr num PC target, com a versão do editor de programa <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

Se no PC tivermos mais do que uma versão instalada deverá, através do Visual Studio, selecionar a opção “<strong>TwinCAT</strong><br />

XAE Remote Manager”. Clique, com a tecla direita do rato, na parte vazia da barra de comandos da “Start Page” do<br />

Visual Studio.<br />

De seguida, na janela “<strong>TwinCAT</strong> XAE Remote Manager Toolbar” da barra de ferramentas, selecione a versão com<br />

que pretende trabalhar. No exemplo da figura seguinte temos instaladas diversas versões RM e FULL.<br />

[<strong>asaTek</strong> / J.Andril] 109


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VI<br />

Assumindo, como exemplo, que temos um controlador target com uma versão de run-time TC<strong>3.1</strong>.4018.44 nós<br />

devemos escolher a versão antiga Build 4018.44 no nosso editor de programa <strong>TwinCAT</strong> <strong>3.1</strong>, baseado no Visual Studio.<br />

Esta comutação é fácil de se fazer, caso tenhamos a opção de switch de versões, no nosso PC.<br />

Esta comutação só é permitida fazer uma vez. Caso queiramos comutar para outra versão terá de fechar o Visual<br />

Studio e voltar a abri-lo.<br />

Para não termos diversas versões de desenvolvimento do <strong>TwinCAT</strong> <strong>3.1</strong> podemos fixar a versão de edição compatível<br />

com a versão do runtime com que estamos a trabalhar. Podemos assim fixar a versão configurando a seguinte<br />

propriedade:<br />

Uma vez a versão fixa, todas as vezes que abrirmos o editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) a função RM comuta<br />

automaticamente para a versão compatível com o runtime.<br />

Se o editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> do seu PC for a ultima versão e não é compatível com a versão do runtime o<br />

software lançará uma janela de aviso. Se desejar executar a comutação de versões clique em “OK”.<br />

[<strong>asaTek</strong> / J.Andril] 110


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

VII – <strong>TwinCAT</strong> <strong>3.1</strong> – Conversão de programas feitos em <strong>TwinCAT</strong> 2<br />

Visão geral de como podemos converter programas feitos na versão 2 do <strong>TwinCAT</strong><br />

O <strong>TwinCAT</strong> <strong>3.1</strong> permite converter projetos feitos em <strong>TwinCAT</strong> 2. São os ficheiros, do <strong>TwinCAT</strong> 2, com a extensão *.tsm,<br />

*.tpy, *, *.lib e *.pro que são utilizados no processo de conversão no <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

Este capitulo apresenta os diversos métodos que podemos utilizar para converter projetos feitos em <strong>TwinCAT</strong> 2 para<br />

<strong>TwinCAT</strong> <strong>3.1</strong>.<br />

1ª Opção: Converter livrarias de um projeto de <strong>TwinCAT</strong> 2 (*.lib)<br />

2º Opção: Converter projetos completos de <strong>TwinCAT</strong> 2 (*.tsm, *.pro e *.tpy)<br />

3º Opção: Converter programas de um projeto de <strong>TwinCAT</strong> 2 (*.pro)<br />

VI-1 – Conversão de livrarias de <strong>TwinCAT</strong> 2 (*.lib)<br />

Neste capitulo iremos abordar os procedimentos para converter ficheiros, do tipo *.lib, do <strong>TwinCAT</strong> 2.<br />

A livraria terá de ser obrigatoriamente compilada, sem erros, no <strong>TwinCAT</strong> 2. Na figura seguinte mostramos um<br />

exemplo de um POU (“FB_test1”) escrito no editor de programa PLC Control do <strong>TwinCAT</strong> 2 e guardado com o nome<br />

“libtest.lib”<br />

De seguida abra o editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> e na pasta (ex. “<strong>TwinCAT</strong> Project5”) clique, com a tecla direita do<br />

rato, em PLC. De seguida clique no comando “Add Existing Item…”.<br />

[<strong>asaTek</strong> / J.Andril] 111


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

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

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

Após este procedimento verifique, na pasta POUs, se está instalada a FB “FB_test1” pertencente ao ficheiro *.lib<br />

criado no <strong>TwinCAT</strong> 2. Clique, com a tecla direita do rato, na pasta “libtest Project” e escolha o comando “Properties”.<br />

Na janela pop-up que surge preencha, no formulário, os campos “Company”, “Title” e “Version”. Poderá também<br />

preencher os campos “Default namespace” e “Placeholder” se o desejar (não é obrigatório).<br />

[<strong>asaTek</strong> / J.Andril] 112


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

Após o preenchimento do formulário clique, com a tecla direita do rato, no item com o nome do ficheiro e escolha<br />

o comando “Save as library and install…”. Isto significa que será guardada e instalada uma nova livraria no<br />

repositório das livrarias. Se optar por clicar no comando “Save as library…” só guarda o ficheiro da livraria.<br />

De seguida, quando surgir a janela pop-up, escolha o formato do ficheiro. Se escolhermos o formato “*.library” é<br />

guardada a livraria compilada. Se escolhermos a opção “*.compiled-library” a livraria é guardada num ficheiro<br />

compilado e encriptado. Isso significa que não será possível ver o código fonte dos POUs existentes nessa livraria.<br />

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

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

[<strong>asaTek</strong> / J.Andril] 113


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

VII-2 – Conversão dos projetos completos de TwnCAT 2<br />

Para podermos converter um projeto completo, anteriormente feito em <strong>TwinCAT</strong> v2, terá de se fazer algum trabalho<br />

preparatório. Comece por criar, no seu ambiente de trabalho (desktop), uma pasta (ex. TC2program) para os<br />

ficheiros do projeto do <strong>TwinCAT</strong> 2. Nessa pasta crie uma subpasta de nome “Lib”. Nesta subpasta guarde todas as<br />

livrarias utilizadas no projeto.<br />

Abra o editor de programa <strong>TwinCAT</strong> <strong>3.1</strong> (XAE) e crie um novo projeto. Clique, com a tecla direita do rato, na pasta<br />

“<strong>TwinCAT</strong> project1” e escolha o comando “Load Project from <strong>TwinCAT</strong> 2.xx Version…”.<br />

Na janela pop-up escolha o formato do ficheiro “*.tsm”, com o comando “<strong>TwinCAT</strong> 2.xx Project (*tsm)”. Selecione<br />

o ficheiro “*.tsm” (ex. testp) que se encontra na pasta criada inicialmente. De seguida clique em “Open” (“Abrir”).<br />

[<strong>asaTek</strong> / J.Andril] 114


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

Surgirá uma janela a avisar que irá tentar converter o projeto (Ex. testp) do formato <strong>TwinCAT</strong> 2 para o <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

Clique em “OK”.<br />

Se na pasta criada inicialmente não se encontra o ficheiro do programa (*.pro) do <strong>TwinCAT</strong> 2 surgirá a seguinte<br />

janela de aviso.<br />

Coloque o programa “*.prg” (ex. testp.pro) na pasta criada inicialmente ou procure o caminho da pasta onde ele se<br />

encontra. De seguida clique em “Open” (“Abrir”).<br />

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

[<strong>asaTek</strong> / J.Andril] 115


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

Esta janela informa que não encontra 1 das livrarias (no nosso exemplo) e pergunta se podemos alterar o caminho<br />

da sua localização. Clique em “Yes”(“Sim”).<br />

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

A opção mais correta é logo no início da criação da pasta no ambiente de trabalho (ex. TC2program), onde temos o<br />

projeto completo do TC2, colocar todas as livrarias na subpasta “Lib” . Assim torna-se mais fácil encontrar o caminho.<br />

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

“OK” da janela “Options”.<br />

O processo de reconversão será iniciado com a apresentação de uma janela pop-up designada por “Library<br />

Reference Conversion”. Nesta janela teremos de escolher qual a tarefa a executar.<br />

Se selecionarmos a 1ª opção “Convert and install the libary as well” a conversão será feita com a livraria que se<br />

encontra na subpasta “Lib” (c:\users\andril\desktop\tc2program\lib) e será instalada no nosso editor <strong>TwinCAT</strong> <strong>3.1</strong>.<br />

Se esta livraria ainda não existe no seu editor de programa surgirá uma janela pop-up com um formulário, a ser<br />

preenchido pelo programador, com o nome e versão da livraria e a empresa que a criou.<br />

[<strong>asaTek</strong> / J.Andril] 116


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

A 2ª opção “Use the following library that has already been installed :” permite escolher livrarias já existente no<br />

nosso editor de programa <strong>TwinCAT</strong> 3. Se selecionar esta 2ª opção o botão “Browser” ficará ativo. Se clicarmos nele<br />

surgirá a janela “Select Library”.<br />

Na pasta “Miscellaneous” escolha a livraria já instalada (ex. Lib_test). De seguida a livraria selecionada aparece no<br />

lado direito do comando “Browser”, como mostra a figura a seguir.<br />

Clique em “OK”.<br />

Também se usa a 2ª opção “Use the following library that has already been installed :” para converter<br />

manualmente programas Standard já existentes no <strong>TwinCAT</strong> 2 . Clique no botão “Browse”.<br />

[<strong>asaTek</strong> / J.Andril] 117


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

Selecione na pasta “System” a livraria standard “Tc2_Standard” .<br />

Todas as livrarias estão referenciadas no Visual Studio. Para verificarmos essas referencias recorremos ao comando<br />

“TOOLS” da barra superior (“Options” “<strong>TwinCAT</strong>” “PLC Environment” “Libraries”).<br />

Após os passos anteriores concretizados, com sucesso, a conversão do projeto está concluída. Poderá visualizar na<br />

arvore do editor de programa do <strong>TwinCAT</strong> <strong>3.1</strong> todas as livrarias, linkagens e POUs.<br />

[<strong>asaTek</strong> / J.Andril] 118


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

VII-3 – Conversão de programas de <strong>TwinCAT</strong> 2 (*.pro)<br />

Se pretendermos converter somente programas (*.pro) do <strong>TwinCAT</strong> 2 o procedimento é mais simples.<br />

Depois de criarmos um novo projeto no editor de programa do <strong>TwinCAT</strong> <strong>3.1</strong> clique, com a tecla direita do rato, na<br />

pasta PLC e selecione o comando “Add Existing Item…”.<br />

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

De seguida deverá seguir os mesmos passos, explicados no capitulo anterior VII-2, para o caminho da pasta das<br />

livrarias utilizadas no programa.<br />

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

[<strong>asaTek</strong> / J.Andril] 119


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

NOTA: Em muitas conversões quando efetuamos a compilação do novo projeto, convertido do <strong>TwinCAT</strong> 2, surgem<br />

erros de compilação. Isso deve-se a que existem em algumas instruções do TC2 versus TC3 diferenças de sintaxe e<br />

formatação. Com pequenas correções conseguimos eliminar esses erros.<br />

Como exemplo temos:<br />

No <strong>TwinCAT</strong> 2 a inicialização de um ARRAY não necessita de [ ]<br />

Ex. ARRAY[1..5] OF INT:=1,2,3,4,5;<br />

No <strong>TwinCAT</strong> 3 a inicialização de um ARRAY necessita de [ ]<br />

Ex. ARRAY[1..5] OF INT:=[1,2,3,4,5];<br />

No <strong>TwinCAT</strong> 2 a conversão de REAL para INT usa o TRUNC<br />

No <strong>TwinCAT</strong> 3 a conversão de REAL para INT usa o TRUNC_INT<br />

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

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

[<strong>asaTek</strong> / J.Andril] 120


<strong>BRESIMAR</strong> AUTOMAÇÃO<br />

Capitulo VII<br />

[<strong>asaTek</strong> / J.Andril] 121

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!