accao formacao twincat

9

Click here to load reader

Upload: thomazsantos

Post on 02-Aug-2015

21 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Accao Formacao TwinCAT

Projecto, Seminário ou Trabalho Final de Curso (A)

5.º Ano – 2.º Semestre

Licenciatura em Engenharia Electrotécnica e de Computadores

Acção de Formação sobre a plataforma TwinCAT

João Paulo Marinho de Oliveira

(ee02002) Ricardo de Oliveira Aguiar

(ee99198)

26 de Fevereiro de 2004

Page 2: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 2/9

Índice de Conteúdos:

1. Informações Gerais ........................................................................3

2. Objectivos ...................................................................................4

3. Temas Abordados ..........................................................................4

3.1. Arquitectura do Sistema .............................................................. 4

3.2. Módulos de Software .................................................................. 6

3.2.1. TwinCAT PLC Control ............................................................ 6 3.2.1.1. Bibliotecas .................................................................... 6

3.2.2. TwinCAT System Manager ....................................................... 7

3.2.3. TwinCAT Scope View ............................................................. 7

3.3. Licenças ................................................................................. 7

4. Conclusões...................................................................................8

5. Documentação Recebida..................................................................9

6. Críticas .......................................................................................9

Page 3: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 3/9

1. Informações Gerais

o Local: BRESIMAR – Sociedade de Equipamentos Eléctricos, Lda. Quinta do Simão – EN 109 – Esgueira Apartado 3080 3801 – 903 Aveiro

o Coordenador: Eng. João Dias

(Direcção Comercial da BRESIMAR)

o Formador: Klauss Strunk (Beckhoff Industrie Elektronic, Alemanha)

o Data: 19 de Fevereiro de 2004

Page 4: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 4/9

2. Objectivos

Familiarização com a plataforma TwinCAT e os seus vários módulos de software.

3. Temas Abordados

A acção de formação debruçou-se essencialmente sobre a arquitectura do sistema do TwinCAT e sobre os seus módulos de software (TwinCAT PLC Control, TwinCAT System Manager e TwinCAT Scope View). Este último ponto contou inclusivamente com a realização passo-a-passo de um programa elementar, bem como com a análise de vários programas (de complexidade superior) elaborados previamente pelo formador. Foram ainda tecidas algumas considerações sobre as bibliotecas disponíveis e sobre a política de licenças adoptada pela Beckhoff.

3.1. Arquitectura do Sistema

A arquitectura do sistema do TwinCAT apresenta a forma indicada na Figura 1, na qual se distinguem cinco componentes.

Figura 1 - Arquitectura do sistema do TwinCAT

Em termos muito gerais: • Real-Time Kernel: bloco responsável pela criação do sistema de tempo real, tendo como

suporte a tecnologia NT ; • I/O Server: bloco responsável pela interacção com as entradas e saídas do sistema, suportando

um vasto conjunto de field buses (CANBus, ProfiBus, DeviceNet, LightBus, etc.); • PLC Server: bloco que executa programas em tempos de ciclo fixos; • NC-PTP Server: bloco que executa as tarefas para o controlo numérico (NC – Numerical

Control) de movimento ponto-a-ponto (PTP - Point To Point) num eixo; • NC-I Server: bloco que executa as tarefas de controlo numérico de movimento, quando estas

envolvem interpolação (I – Interpolation), no máximo tridimensional.

Por este motivo o TwinCAT só funciona em sistemas operativos baseados no Windows NT, como por exemplo o Windows 2000 ou o Windows XP.

Page 5: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 5/9

Todos estes blocos são interligados através do sistema de comunicação básico ADS (Automation Device Specification), o que possibilita a troca de mensagens entre os mesmos. Forma-se assim um sistema de tempo real com tarefas preemptivas (a sua execução pode ser interrompida), determinístico e de execução cíclica, sendo o max jitter (tempo máximo de atraso do início das tarefas, face ao planeado) de apenas 15 µs.

Figura 2 - Operação em tempo real de um programa num PC

Como mostra a Figura 2, o tempo do CPU é partilhado entre o programa a executar e o Windows. O sistema de tempo real vai gerando interrupções periódicas, a que corresponde o início da execução do programa. A primeira etapa passa pela leitura das entradas , a que se segue a execução do PLC e a respectiva actualização das saídas, sendo o restante tempo do CPU utilizado pelo Windows. Note-se que existe um limite para a execução do programa por cada período do CPU (assinalado a tracejado na figura anterior); se o tempo correspondente a este limite não for suficiente para a execução do programa, esta será interrompida e retomada posteriormente no ciclo seguinte. Como o próprio nome indica, quatro dos blocos referidos anteriormente funcionam como servidores, executando os programas mas não apresentando qualquer interface para o utilizador. Esta função é uma das responsabilidades dos módulos de software que constituem o TwinCAT, os quais recorrem aos referidos servidores e solicitam os seus serviços para executar as tarefas. Os módulos de software são assim clientes dos servidores.

São apenas lidas as entradas necessárias à execução da tarefa em questão.

Page 6: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 6/9

3.2. Módulos de Software

3.2.1. TwinCAT PLC Control

O TwinCAT PLC Control é o módulo utilizado para o desenvolvimento dos programas, possibilitando assim a sua edição e compilação. A posterior transferência dos programas para o PLC pode ser feita via protocolo TCP/IP ou via porta série. O código elaborado neste módulo pode ser classificado em 3 tipos (programa, bloco funcional ou função), sendo suportadas 6 linguagens de programação (IL – Instruction Language, LD – Ladder Diagram, FBD – Function Block Diagram, SFC – Structured Flow Chart, ST – Structured Text e CFC – Continuous Function Chart). A Beckhoff sugere que os programas sejam elaborados em ST, uma vez que esta é uma linguagem de alto nível, de fácil adaptação (para quem já trabalhou com linguagem C, por exemplo) e com funcionalidades muito úteis como a recursividade de funções, a facilidade na construção de ciclos e de testes de hipóteses, entre outros. Note-se porém que as funções só podem ser chamadas por valor (nunca por referência) e, embora com vários argumentos, apenas podem retornar um valor. No que toca aos tipos de dados, para além dos standard (bool, integer, real, lreal, string, time, date, etc.), podem usar-se também tipos especificados pelo utilizador (com base nos standard). Ou seja, é possível a criação, por exemplo, de estruturas. O uso de arrays de dados também é permitido. Para além das variáveis internas de cada função, podem existir ainda variáveis globais e variáveis persistentes. As primeiras são normalmente utilizadas para conter o valor das entradas/saídas, o que constitui uma boa regra de programação já que permite o acesso de todas as funções a todas as entradas/saídas. As variáveis persistentes, por seu lado, são usadas para fins de memória, uma vez que o seu conteúdo é guardado quando o PC é desligado ou noutras situações, definidas pelo utilizador. Relativamente ao endereçamento das variáveis, ele pode ser fixo (definido pelo programador, com a forma %IX0.1) ou variável (definido posteriormente pelo módulo TwinCAT System Manager, com a forma %I*). Durante a elaboração de programas mais complicados, o endereçamento fixo pode conduzir a erros dificilmente detectáveis, pelo que não é muito recomendável. Com efeito, uma simples desatenção pode resultar na atribuição de um mesmo endereço a duas variáveis... Pelo contrário, o endereçamento variável não permite a existência de sobreposição, conferindo assim ao programa uma segurança total a este nível. A exemplo de outras marcas, a Beckhoff referencia as entradas com a letra I e as saídas com a letra Q. O TwinCAT PLC Control possibilita ainda o trabalho offline, não sendo pois condição necessária, para o teste e depuração do programa, a ligação ao hardware respectivo. Aquando desta última fase (depuração) é possível monitorar a execução do programa (passo-a-passo ou não), forçar o valor das variáveis (individualmente ou em conjunto) e proceder a alterações no programa, sem interromper a execução do mesmo.

3.2.1.1. Bibliotecas

A versão demo do TwinCAT é acompanhada por um conjunto de bibliotecas standard, que permitem a elaboração de programas básicos. O recurso a outras bibliotecas, dedicadas a fins específicos como comunicação série, comunicação via SMS, controladores de temperatura ou controladores PID, implicam a compra da respectiva licença. De referir ainda que o utilizador pode criar as suas próprias bibliotecas, usando uma das várias linguagens de programação suportadas pelo editor de programas e guardando o ficheiro com o tipo library file (extensão .LIB).

Page 7: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 7/9

3.2.2. TwinCAT System Manager

É neste módulo que têm lugar todo o tipo de configurações. São portanto aqui indicadas as cartas de entrada/saída utilizadas, estabelecidos os endereços definidos como aleatórios aquando da edição do programa, definido o tipo de barramento ao qual o sistema se encontra ligado e o tempo de ciclo das tarefas (tipicamente com o valor de 10ms ), entre outros. Podem igualmente especificar-se alarmes que notifiquem os utilizadores da ultrapassagem do tempo de ciclo.

3.2.3. TwinCAT Scope View

O TwinCAT Scope View é um módulo usado para visualizar, graficamente, a evolução temporal das variáveis usadas no programa (em execução). Podem-se naturalmente monitorizar duas ou mais variáveis, sendo ainda possível definir o instante de início ou de fim (da monitorização) como função do estado de uma variável. Por outras palavras, a monitorização pode somente começar quando uma determinada variável atingir um determinado valor.

3.3. Licenças

A política da Beckhoff a este nível é bastante interessante... e compreensível, uma vez que a marca representa uma nova tecnologia e pretende adquirir a sua quota de mercado. No próprio site da empresa é disponibilizado um demo do TwinCAT, com uma licença para 30 dias. A própria Beckhoff reconhece que, findos os 30 dias, é perfeitamente possível continuar a usufruir das potencialidades da ferramenta; para tal basta proceder à sua desinstalação e posterior instalação. Em situações em que o TwinCAT é apenas necessário para editar ou alterar o programa (e não para apoiar a sua execução), este procedimento pode inclusivamente ser utilizado para apoiar o projecto do princípio ao fim, excluindo assim a necessidade de comprar qualquer licença. A Beckhoff acredita apenas que, em situações complexas onde não é de todo conveniente ou possível proceder regularmente à desinstalação e instalação do software, as empresas em questão comprarão a referida licença. Por outro lado, a licença standard de 30 dias dá acesso a um conjunto de funcionalidades restrito... O acesso às restantes (funcionalidades), normalmente necessárias à execução da maioria dos projectos, implica naturalmente a aquisição da respectiva licença.

É perfeitamente possível analisar uma outra variável de 1ms em 1ms, bastando para isso criar outra tarefa com esse tempo

de ciclo. Embora se possa ter um máximo de 4 tarefas, executando cada uma um ou mais blocos-programa, é recomendável que apenas se tenha uma (tarefa), sob pena de o CPU poder ficar sobrecarregado.

www.beckhoff.com

Page 8: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 8/9

4. Conclusões

O TwinCAT é basicamente uma plataforma de software associada à tecnologia da marca Beckhoff, transformando qualquer PC compatível num controlador de tempo real com múltiplos PLCs, ambiente de programação e estação de controlo, entre outros. Apresentando uma política de licenças atractiva para um primeiro contacto com a ferramenta, o TwinCAT (e os seus módulos de software) fornece um vasto conjunto de funcionalidades, bastante potentes em alguns níveis (como por exemplo a monitorização) e cuja aprendizagem e utilização são facilitadas pela quantidade e qualidade da documentação existente.

Page 9: Accao Formacao TwinCAT

Acção de Formação sobre a plataforma TwinCAT

pág. 9/9

5. Documentação Recebida

Foi cedida aos formandos, sob a forma de 2 CDs, a versão de Agosto de 2003 do catálogo principal e dos produtos de software da Beckhoff (incluindo TwinCAT 2.9, TwinCAT Supplement, TwinCAT Information System, OPC Products, KS2000 e KS8000, entre outros). Foram ainda cedidos 3 catálogos (Beckhoff Product Overview, Beckhoff EtherCAT – Ultra-High-Speed I/O e Beckhoff TwinSAFE), o número de Março de 2003 da revista PC-Control e o número de Dezembro de 2003 do Boletim Informativo da Beckhoff.

6. Críticas

O facto do inglês ter sido o idioma usado na acção de formação não constituiu nenhum problema, resultado da clareza na fala e do nível intermédio adoptado, quer pelo formador, quer pelos formandos. Com a excepção do atendimento pontual de algumas chamadas (via telemóvel) por parte de alguns formandos, a par da sua entrada/saída da sala, a acção de formação decorreu dentro da normalidade e num bom ambiente. Com efeito, o formador demonstrou um grande conhecimento da ferramenta, mostrando-se interessado na aprendizagem dos formandos e completamente disponível para o esclarecimento das dúvidas/questões que foram surgindo. A estas respondeu claramente (em 99,9% das vezes) e apoiando-se, sempre que possível, na ilustração de exemplos. A acção de formação assumiu-se assim como um bom incentivo para o projecto, possibilitando, para além da aquisição prática de novos conhecimentos, um primeiro contacto com a realidade empresarial da área de automação.