cartão plc1 - canopen slave

60
Cart˜ ao PLC1 Manual da Comunica¸ ao CANopen Slave 07/2005 erie: PLC1 0899.5805 P/2

Upload: trannhan

Post on 08-Jan-2017

253 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Cartão PLC1 - CANopen Slave

Cartao PLC1Manual da ComunicacaoCANopen Slave

07/2005

Serie: PLC10899.5805 P/2

Page 2: Cartão PLC1 - CANopen Slave

Sumario

Sumario

Lista de Tabelas 4

Lista de Figuras 4

Sobre o manual 5Abreviacoes e Definicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1 Introducao ao protocolo CANopen 61.1 CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1.1 Frame de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.2 Frame remoto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.3 Acesso a rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.4 Controle de erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.5 CAN e CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Caracterısticas da rede CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Meio fısico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 Endereco na rede CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.5 Acesso aos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.6 Transmissao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.7 Objetos responsaveis pela comunicacao - COBs . . . . . . . . . . . . . . . . . . 91.8 COB-ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.9 Arquivo EDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Instalacao 122.1 Conexao com a rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Fonte de alimentacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Cabos e terminacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4 Taxa de comunicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Parametros da comunicacao CANopen 153.1 P770 - Protocolo CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 P771 - Endereco da rede CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 P772 - Taxa de comunicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4 P773 - Reset de Bus Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5 P774 - Acao para erro de comunicacao . . . . . . . . . . . . . . . . . . . . . . . 163.6 P775 - Estado do controlador CAN . . . . . . . . . . . . . . . . . . . . . . . . . 173.7 P776 - Numero de telegramas recebidos . . . . . . . . . . . . . . . . . . . . . . . 173.8 P777 - Numero de telegramas transmitidos . . . . . . . . . . . . . . . . . . . . . 173.9 P778 - Numero de erros registrados . . . . . . . . . . . . . . . . . . . . . . . . . 173.10 P780 - Estado da rede CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . 183.11 P781 - Estado do no CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4 Dicionario de objetos 194.1 Estrutura do dicionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2.1 Tipos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2.2 Tipos compostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2.3 Tipos estendidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2

Page 3: Cartão PLC1 - CANopen Slave

Sumario

4.3 Communication Profile - Objetos para comunicacao . . . . . . . . . . . . . . . . 214.4 Manufacturer Specific - Objetos especıficos do cartao PLC1 . . . . . . . . . . . . 22

5 Descricao dos objetos de comunicacao 245.1 Objetos de identificacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.1.1 Objeto 1000h - Device Type . . . . . . . . . . . . . . . . . . . . . . . . . 245.1.2 Objeto 1001h - Error Register . . . . . . . . . . . . . . . . . . . . . . . . 245.1.3 Objeto 1003h - Pre-defined error field . . . . . . . . . . . . . . . . . . . . 255.1.4 Objeto 1018h - Identity object . . . . . . . . . . . . . . . . . . . . . . . . 26

5.2 Service Data Objects - SDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2.1 Objeto 1200h - Servidor SDO . . . . . . . . . . . . . . . . . . . . . . . . 275.2.2 Funcionamento dos SDOs . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 Process Data Objects - PDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.3.1 Objetos mapeaveis para os PDOs . . . . . . . . . . . . . . . . . . . . . . 305.3.2 PDOs de recepcao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.3.3 PDOs de transmissao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.4 Emergency Object - EMCY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.5 Synchronization Object - SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.6 Network Management - NMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.6.1 Controle dos estados do escravo . . . . . . . . . . . . . . . . . . . . . . . 415.6.2 Controle de Erros - Guarding . . . . . . . . . . . . . . . . . . . . . . . . 43

5.7 Salvar e restaurar configuracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.7.1 Objeto 1010h - Store parameters . . . . . . . . . . . . . . . . . . . . . . 455.7.2 Objeto 1011h - Restore default parameters . . . . . . . . . . . . . . . . . 47

5.8 Procedimento de inicializacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6 Erros da comunicacao CANopen 506.1 E61 - Bus off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.2 E65 - Erro de guarda do no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

7 Exemplos de aplicacao 517.1 Exemplo 1 - Controlando o estado de um escrevo . . . . . . . . . . . . . . . . . 527.2 Exemplo 2 - Acessando objetos utilizando SDOs . . . . . . . . . . . . . . . . . . 537.3 Exemplo 3 - Habilitando o controle de erros - Guarding . . . . . . . . . . . . . . 537.4 Exemplo 4 - Configurando um PDO para transmissao . . . . . . . . . . . . . . . 557.5 Exemplo 5 - Configurando um PDO para recepcao . . . . . . . . . . . . . . . . . 577.6 Exemplo 6 - Utilizando o objeto SYNC para envio de PDOs . . . . . . . . . . . 587.7 Exemplo 7 - Deteccao de erros utilizando EMCY . . . . . . . . . . . . . . . . . 60

3

Page 4: Cartão PLC1 - CANopen Slave

Lista de Figuras

Lista de Tabelas

1 Documentacao tecnica sobre CANopen . . . . . . . . . . . . . . . . . . . . . . . 52 Tipos de objetos de comunicacao - COBs . . . . . . . . . . . . . . . . . . . . . . 103 COB-ID para os diferentes objetos . . . . . . . . . . . . . . . . . . . . . . . . . 114 Pinagem do conector utilizado pelo cartao PLC1 . . . . . . . . . . . . . . . . . . 125 Dados para alimentacao via rede . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Caracterısticas do cabo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Taxas de comunicacao suportadas e tamanho da instalacao . . . . . . . . . . . . 148 Agrupamentos do dicionario de objetos . . . . . . . . . . . . . . . . . . . . . . . 199 Record para configuracao dos PDOs . . . . . . . . . . . . . . . . . . . . . . . . . 2010 Record para mapeamento dos dados de um PDO . . . . . . . . . . . . . . . . . . 2111 Record para configuracao dos SDOs . . . . . . . . . . . . . . . . . . . . . . . . . 2112 Record para identificacao do dispositivo . . . . . . . . . . . . . . . . . . . . . . . 2113 Lista de objetos do cartao PLC1 - Communication Profile . . . . . . . . . . . . 2214 Lista de objetos da PLC1 - Manufacturer Specific . . . . . . . . . . . . . . . . . 2315 Estrutura do objeto Error Register . . . . . . . . . . . . . . . . . . . . . . . . . 2516 Tabela de codigos de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2617 Codigo dos comandos para cliente SDO . . . . . . . . . . . . . . . . . . . . . . . 2818 Codigo dos comandos para servidor SDO . . . . . . . . . . . . . . . . . . . . . . 2919 Lista de parametros mapeaveis para PDOs . . . . . . . . . . . . . . . . . . . . . 3120 Descricao do COB-ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3221 Descricao do tipo de transmissao . . . . . . . . . . . . . . . . . . . . . . . . . . 3222 Descricao das transicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4223 Objetos acessıveis em cada estado . . . . . . . . . . . . . . . . . . . . . . . . . . 4224 Comandos recebidos pelo escravo . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Lista de Figuras

1 Modelo do funcionamento do cartao PLC1 na rede CANopen . . . . . . . . . . . 102 Posicao do conector CAN no cartao PLC1 . . . . . . . . . . . . . . . . . . . . . 123 Rede CANopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Comunicacao entre Cliente e Servidor SDO . . . . . . . . . . . . . . . . . . . . . 275 Comunicacao utilizando PDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 EMCY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 SYNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Diagrama de estados do no CANopen . . . . . . . . . . . . . . . . . . . . . . . . 419 Servico de controle de erros - Guarding . . . . . . . . . . . . . . . . . . . . . . . 4310 Fluxograma do processo de inicializacao . . . . . . . . . . . . . . . . . . . . . . 4911 Rede utilizada nos exemplos de aplicacao . . . . . . . . . . . . . . . . . . . . . . 51

4

Page 5: Cartão PLC1 - CANopen Slave

Lista de Figuras

Sobre o manual

Este documento descreve o funcionamento do protocolo CANopen para o cartao PLC1.Ele deve ser utilizado em conjunto com o manual do cartao PLC1.

Abreviacoes e Definicoes

CAN Controller Area NetworkCiA CAN in AutomationCOB Communication ObjectCOB-ID Communication Object IdentifierSDO Service Data ObjectPDO Process Data ObjectRPDO Receive PDOTPDO Transmit PDOEMCY Emergency ObjectSYNC Synchronization ObjectNMT Network Management ObjectASCII American Standard Code for Information Interchange

Representacao numericaNumeros decimais sao representados atraves de dıgitos sem sufixo. Numeros hexa-decimais sao representados com a letra ’h’ depois do numero.

Documentos

O protocolo CANopen para PLC1 foi desenvolvido baseado nas seguintes especificacoes edocumentos:

Documento Versao Fonte

CAN Specification 2.0 CiACiA DS 301 4.02 CiACANopen Application Layer and Communication ProfileCiA DRP 303-1 1.1.1 CiACabling and Connector Pin AssignmentCiA DSP 306 1.1 CiAElectronic Data Sheet Specification for CANopenCiA DSP 402 2.0 CiADevice Profile Drives and Motion Control

Tabela 1: Documentacao tecnica sobre CANopen

Para obter esta documentacao, deve-se consultar a CiA (CAN in Automation), que atual-mente e a organizacao que mantem, divulga e atualiza as informacoes relativas a rede CANopen.

5

Page 6: Cartão PLC1 - CANopen Slave

1 Introducao ao protocolo CANopen

1 Introducao ao protocolo CANopen

Para a operacao do cartao PLC1 em rede CANopen, e necessario conhecer a forma comoa comunicacao e feita. Para isto, este item traz uma descricao geral do funcionamento doprotocolo CANopen, contendo as funcoes utilizadas pela PLC1. Para uma descricao detalhadado protocolo, consulte a documentacao CANopen indicada na tabela 1.

1.1 CAN

A rede CANopen e uma rede baseada em CAN, o que significa dizer que ela utilizatelegramas CAN para troca de dados na rede.

O protocolo CAN e um protocolo de comunicacao serial que descreve os servicos dacamada 2 do modelo ISO/OSI (camada de enlace de dados)1. Nesta camada, sao definidos osdiferentes tipos de telegramas (frames), a forma de deteccao de erros, validacao e arbitracaode mensagens.

1.1.1 Frame de dados

Os dados em uma rede CAN sao transmitidos atraves de um frame (telegrama) de da-dos. Este tipo de frame e composto principalmente por um campo identificador de 11 bits2

(arbitration field), e um campo de dados (data field), que pode conter ate 8 bytes de dados.

Identificador 8 bytes de dados11 bits byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7

1.1.2 Frame remoto

Alem do frame de dados, existe tambem o frame remoto (RTR frame). Este tipo de framenao possui campo de dados, apenas o identificador. Ele funciona como uma requisicao paraque outro dispositivo da rede transmita o frame de dados desejado.

1.1.3 Acesso a rede

Em uma rede CAN, qualquer elemento da rede pode tentar transmitir um frame para arede em um determinado instante. Caso dois elementos da rede tentem acessar a rede ao mesmotempo, conseguira transmitir aquele que enviar a mensagem mais prioritaria. A prioridade damensagem e definida pelo identificador do frame CAN, quanto menor o valor deste identificador,maior a prioridade da mensagem. O telegrama com o identificador 0 (zero) corresponde aotelegrama mais prioritario.

1Na especificacao do protocolo CAN, e referenciada a norma ISO 11898 como definicao da camada 1 destemodelo (camada fısica).

2A especificacao CAN 2.0 define dois tipos de frames de dados: standard (11bits) e extended (29 bits). Parao protocolo CANopen do cartao PLC1, somente frames standard sao aceitos.

6

Page 7: Cartão PLC1 - CANopen Slave

1 Introducao ao protocolo CANopen

1.1.4 Controle de erros

A especificacao CAN define diversos mecanismos para controle de erros, o que a tornauma rede muito confiavel e com um ındice muito baixo de erros de transmissao que nao saodetectados. Cada dispositivo da rede deve ser capaz de identificar a ocorrencia destes erros, einformar os demais elementos que um erro foi detectado.

Um dispositivo da rede CAN possui contadores internos que sao incrementados toda vezque um erro de transmissao ou recepcao e detectado, e decrementado quando um telegramae enviado ou recebido com sucesso. Caso ocorra uma quantidade consideravel de erros, odispositivo pode ser levado para os seguintes estados:

• Warning : quando esse contador passa de um determinado limite, o dispositivo entra noestado de warning, significando a ocorrencia de uma elevada taxa de erros.

• Error Passive: quando este valor ultrapassa um limite maior, ele entra no estado de errorpassive, onde ele para de atuar na rede ao detectar que um outro dispositivo enviou umtelegrama com erro.

• Bus Off : por ultimo, temos o estado de bus off, no qual o dispositivo nao ira mais enviarou receber telegramas.

1.1.5 CAN e CANopen

Somente a especificacao de como detectar erros, criar e transmitir um frame nao e sufi-ciente para definir um significado para os dados que sao enviados via rede. E necessario quehaja uma especificacao que indique como o identificador e os dados devem ser montados ecomo as informacoes devem ser trocadas, e desta forma os elementos da rede podem interpretarcorretamente os dados que sao transmitidos. Neste sentido, a especificacao CANopen definejustamente como trocar dados entre os equipamentos e como cada dispositivo deve interpretarestes dados.

Existem diversos outros protocolos baseados em CAN, como DeviceNet, J1939, etc., quetambem utilizam frames CAN para a comunicacao. Porem estes protocolos nao podem operarem conjunto na mesma rede.

1.2 Caracterısticas da rede CANopen

Por utilizar um barramento CAN como forma de transmissao de telegramas, todos osdispositivos da rede CANopen tem os mesmos direitos de acesso a rede, onde a prioridadedo identificador e responsavel por resolver problemas de conflito quando acessos simultaneosocorrem. Isto traz o benefıcio de possibilitar a comunicacao entre escravos da rede, alem dofato de que os dados podem ser disponibilizados de maneira mais otimizada, sem a necessidadede um mestre que controle toda a comunicacao fazendo acesso cıclico a todos os dispositivosda rede para atualizacao dos dados.

Outra caracterıstica importante e a utilizacao do modelo produtor / consumidor para atransmissao de dados. Isto significar dizer que uma mensagem que trafega na rede nao possuium endereco fixo na rede como destino. Esta mensagem possui um identificador que indicaqual o dado que ela esta transportando. Qualquer elemento da rede que necessite utilizar desta

7

Page 8: Cartão PLC1 - CANopen Slave

1 Introducao ao protocolo CANopen

informacao para a sua logica de operacao, podera consumi-la, e portanto uma mesma mensagempode ser utilizada por varios elementos da rede ao mesmo tempo.

1.3 Meio fısico

O meio fısico para a transmissao de sinais em uma rede CANopen e especificado pelanorma ISO 11898. Ela define como barramento de transmissao um par trancado com sinaleletrico diferencial.

O cartao PLC1 utiliza ainda um circuito de interface com a rede isolado com alimentacaoexterna. O componente responsavel pela transmissao e recepcao de sinais e denominado trans-ceiver, que obedece o especificado pela ISO 11898.

1.4 Endereco na rede CANopen

Toda a rede CANopen deve possuir um mestre, responsavel por servicos de gerenciamentoda rede, e tambem pode possuir um conjunto de ate 127 escravos. Cada dispositivo da redetambem pode ser chamado de no. Todo escravo em uma rede CANopen e identificado na redeatraves de seu endereco, ou Node-ID, que deve ser unico para cada escravo da rede, e podevariar de 1 ate 127.

O cartao PLC1 nao possui funcoes que implementam os servicos de gerenciamento derede, e portanto ele deve ser utilizado em conjunto com algum equipamento que possua taisservicos.

1.5 Acesso aos dados

Cada escravo da rede CANopen possui uma lista, denominada dicionario de objetos, quecontem todos os dados que sao acessıveis via rede. Cada objeto desta lista e identificadoatraves de um ındice, e durante a configuracao do equipamento e troca de mensagens, esteındice e utilizado para identificar o que esta sendo transmitido.

Uma descricao mais detalhada de como o dicionario de objetos esta estruturado e fornecidano item 4.

1.6 Transmissao de dados

A transmissao de dados numericos atraves de telegramas CANopen e feita utilizando arepresentacao hexadecimal do numero, e enviando o byte menos significativo do dado primeiro.

Exemplo: transmissao de um inteiro com sinal de 32 bits (12345678h = 305419896 deci-mal), mais um inteiro com sinal de 16 bits (FF00h = -256 decimal), em um frame CAN.

Identificador 6 bytes de dadosinteiro 32 bits inteiro 16 bits

11 bits byte 0 byte 1 byte 2 byte 3 byte 4 byte 578h 56h 34h 12h 00h FFh

8

Page 9: Cartão PLC1 - CANopen Slave

1 Introducao ao protocolo CANopen

1.7 Objetos responsaveis pela comunicacao - COBs

Existe um determinado conjunto de objetos que sao responsaveis pela comunicacao entreos dispositivos da rede. Estes objetos estao divididos de acordo com os tipos de dados e aforma como sao enviados ou recebidos por um dispositivo. O cartao PLC1 suporta os seguintesobjetos de comunicacao (COBs):

Tipo de objeto Descricao

Service Data Object(SDO)

Os SDOs sao objetos responsaveis pelo acesso direto ao dicionariode objetos de um dispositivo. Atraves de mensagens utilizandoos SDOs, e possıvel indicar explicitamente (atraves do ındice doobjeto), qual o dado que esta sendo manipulado. Existem doistipos de SDOs: Cliente SDO, responsavel por fazer uma requisicaoleitura ou escrita para um dispositivo da rede, e o Servidor SDO,responsavel por atender esta requisicao.Como os SDOs sao utilizados geralmente para configuracao de umno da rede, sao menos prioritarios que outros tipos de mensagens.Somente um SDO do tipo servidor esta disponıvel para o PLC1.

Process Data Object(PDO)

Os PDOs sao utilizados para acessar dados do equipamento sem anecessidade de indicar explicitamente qual o objeto do dicionarioesta sendo acessado. Para isso, e necessario configurar previamentequais os dados que o PDO estara transmitindo (mapeamento dosdados). Tambem existem dois tipos de PDOs: PDO de recepcaoe PDO de transmissao.PDOs usualmente sao utilizados para transmissao e recepcao dedados utilizados durante a operacao do dispositivo, e por isso saomais prioritarios que os SDOs.

Emergency Object(EMCY)

Este objeto e responsavel pelo envio de mensagens para indicara ocorrencia de erros no dispositivo. Quando um erro ocorre emum determinado dispositivo (Produtor EMCY ), este pode enviaruma mensagem para a rede. Caso algum dispositivo da rede es-teja monitorando esta mensagem (Consumidor EMCY ), e possıvelprogramar para que uma acao seja tomada (desabilitar demais dis-positivos da rede, reset de erros, etc.).O PLC1 possui apenas a funcionalidade de produtor EMCY.

Synchronisation Object(SYNC)

Na rede CANopen e possıvel programar um dispositivo (Produ-tor SYNC ) para enviar, periodicamente, uma mensagem de sin-cronizacao para todos os dispositivos da rede. Estes dispositivos(Consumidores SYNC ) podem entao, por exemplo, enviar um de-terminado dado que necessita ser disponibilizado periodicamente.O cartao PLC1 possui a funcao de consumidor SYNC.

9

Page 10: Cartão PLC1 - CANopen Slave

1 Introducao ao protocolo CANopen

Tipo de objeto Descricao

Network Management(NMT)

Toda a rede CANopen precisa ter um mestre que controle os de-mais dispositivos da rede (escravos). Este mestre sera responsavelpor um conjunto de servicos que controlam a comunicacao dosescravos e seu estado na rede CANopen. Os escravos entao saoresponsaveis por receber os comandos enviados pelo mestre e exe-cutar as acoes solicitadas.A PLC1 opera como um escravo da rede CANopen, e disponibi-liza dois tipos de servicos que o mestre pode utilizar: servicos decontrole do dispositivo, onde o mestre controla o estado de cadaescravo na rede, e servicos de controle de erros (guarda do no -Guarding), onde tanto o mestre quanto o escravo trocam telegra-mas periodicos para checarem se nao ha erros na comunicacao.

Tabela 2: Tipos de objetos de comunicacao - COBs

Toda a comunicacao do cartao com a rede e feita utilizando-se estes objetos, e os dados quepodem ser acessados sao os existentes no dicionario de objetos do dispositivo. Uma descricaomais detalhada do funcionamento de cada COB e feita na secao 5. O modelo do funcionamentodo cartao PLC1, do ponto de vista da rede CANopen, pode ser descrito pela seguinte figura:

Servidor SDO

Interface com a rede

rx

tx

Escravo NMT

Consumidor SYNC

Produtor EMCY

Controle de erros

PDOs de recepção

PDOs de transmissão

Comunicação

Dicionário de objetos

Parâmetros

Servidor SDO

Interface com a rede

rx

tx

Escravo NMT

Consumidor SYNC

Produtor EMCY

Controle de erros

PDOs de recepção

PDOs de transmissão

Comunicação

Dicionário de objetos

PLC1

ParâmetrosMESTRE

Barramento CAN

PLC1

Figura 1: Modelo do funcionamento do cartao PLC1 na rede CANopen

1.8 COB-ID

Um telegrama da rede CANopen sempre e transmitido por um objeto de comunicacao(COB). Todo COB possui um identificador que indica o tipo de dado que esta sendo transpor-tado. Este identificador, chamado de COB-ID, possui um tamanho de 11 bits, e e transmitidono campo identificador de um telegrama CAN. Ele pode ser subdividido em duas partes:

10

Page 11: Cartão PLC1 - CANopen Slave

1 Introducao ao protocolo CANopen

Codigo da Funcao Endereco do nobit 10 bit 9 bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0

• Codigo da funcao: indica o tipo de objeto que esta sendo transmitido.

• Endereco do no: indica com qual dispositivo da rede o telegrama esta vinculado.

A seguir e apresentada uma tabela com os valores padrao para os diferentes objetos decomunicacao disponıveis no cartao PLC1. E necessario observar que o valor padrao do objetodepende do endereco do escravo, com excecao dos COB-IDs para NMT e SYNC, que sao comunspara todos os elementos da rede. Estes valores tambem podem ser alterados durante a etapade configuracao do dispositivo.

COB Codigo da Funcao COB-ID Resultante(bits 10 - 7) (funcao + endereco)

NMT 0000 0SYNC 0001 128 (80h)EMCY 0001 129 - 255 (81h - FFh)PDO1 (tx) 0011 385 - 511 (181h - 1FFh)PDO1 (rx) 0100 513 - 639 (201h - 27Fh)PDO2 (tx) 0101 641 - 767 (281h - 2FFh)PDO2 (rx) 0110 769 - 895 (301h - 37Fh)PDO3 (tx) 0111 897 - 1023 (381h - 3FFh)PDO3 (rx) 1000 1025 - 1151 (401h - 47Fh)PDO4 (tx) 1001 1153 - 1279 (481h - 4FFh)PDO4 (rx) 1010 1281 - 1407 (501h - 57Fh)SDO (tx) 1011 1409 - 1535 (581h - 5FFh)SDO (rx) 1100 1537 - 1663 (601h - 67Fh)Node guarding 1110 1793 - 1919 (701h - 77Fh)

Tabela 3: COB-ID para os diferentes objetos

1.9 Arquivo EDS

Cada dispositivo em uma rede CANopen possui um arquivo de configuracao EDS, quecontem diversas informacoes sobre o funcionamento do dispositivo na rede CANopen, bem comoa descricao de todos os objetos existentes para comunicacao. Em geral este arquivo e utilizadopor um mestre ou software de configuracao, para programacao dos dispositivos presentes narede CANopen.

O arquivo de configuracao EDS para a PLC1 e fornecido juntamente com o produto, etambem pode ser obtido atraves do site http://www.weg.com.br. E necessario observar a versaode software da PLC1, para utilizar uma arquivo EDS que seja compatıvel com esta versao.

11

Page 12: Cartão PLC1 - CANopen Slave

2 Instalacao

2 Instalacao

A rede CANopen, como varias redes de comunicacao industriais, pelo fato de ser aplicadamuitas vezes em ambientes agressivos e com alta exposicao a interferencia eletromagnetica, exigecertos cuidados que devem ser tomados para garantir uma baixa taxa de erros de comunicacaodurante a sua operacao. A instalacao deve seguir o descrito pela norma ISO 11898, porem aseguir sao apresentadas recomendacoes para realizar a instalacao do cartao PLC1.

2.1 Conexao com a rede

A interface para conexao com o barramento CAN esta disponıvel no conector XC8. Aseguir e apresentado um modelo, utilizando um cartao PLC1 conectado a um CFW-09.

21 2523 27(XC8)

(S4)

on

Conector CAN

Terminação

Figura 2: Posicao do conector CAN no cartao PLC1

A tabela 4 descreve a funcao de cada pino do conector.

Conector XC821 V-23 CAN L25 CAN H27 V+

Tabela 4: Pinagem do conector utilizado pelo cartao PLC1

A ligacao deve ser feita conectando cada um dos sinais (V- conectado ao V-, CAN Lconectado ao CAN L, etc.) nos diversos equipamentos ligados em rede. Caso algum outroequipamento nao necessite de alimentacao via rede, basta nao conectar os pontos V- e V+. Ablindagem do cabo deve ser ligada ao terra do dispositivo.

2.2 Fonte de alimentacao

Para alimentar o circuito responsavel pela comunicacao no cartao PLC1, e necessariofornecer uma tensao de alimentacao entre os pinos 21 e 27 do conector da rede. Para evitar

12

Page 13: Cartão PLC1 - CANopen Slave

2 Instalacao

problemas de diferenca de tensao entre os dispositivos da rede, e recomendado que a rede sejaalimentada em apenas um ponto, e o sinal de alimentacao seja levado a todos os dispositivosatraves do cabo. Caso seja necessario mais de uma fonte de alimentacao, estas devem estarreferenciadas ao mesmo ponto. Os dados para consumo individual e tensao de entrada saoapresentados na tabela a seguir.

Tensao de alimentacao (VCC)Mınimo Maximo Recomendado

11 30 24Corrente (mA)

Mınimo Maximo Medio20 50 30

Tabela 5: Dados para alimentacao via rede

2.3 Cabos e terminacoes

E recomendado a utilizacao de um cabo blindado com dois pares trancados - um par paraos pinos 23 e 25 (CAN L e CAN H) e outro para os pinos 21 e 27 (V- e V+).

Terminações

AterramentoDerivação

Fonte

Barramento CAN

2721 2523

Figura 3: Rede CANopen

Para interligar os diversos nos da rede, recomenda-se a conexao do equipamento direta-mente a partir da linha principal, sem a utilizacao de derivacoes. Durante a instalacao doscabos, deve-se evitar sua a passagem proximo a cabos de potencia, pois devido a interferenciaeletromagnetica, isto facilita a ocorrencia de erros durante a transmissao. Para evitar problemasde circulacao de corrente por diferenca de potencial entre diferentes aterramentos, e necessarioque todos os dispositivos estejam conectados no mesmo ponto de terra.

O cabo para a ligacao dos sinais CAN L e CAN H deve ter impedancia caracterısticade aproximadamente 120Ω, e um atraso maximo de propagacao do sinal de 5ns/m. Outrascaracterısticas dependem do comprimento do cabo, que deve estar de acordo com a tabela aseguir.

13

Page 14: Cartão PLC1 - CANopen Slave

2 Instalacao

Comprimento do cabo Resistencia por metro Area do condutor(m) (mΩ/m) (mm2)

0 ... 40 70 0.25 ... 0.3440 ... 300 <60 0.34 ... 0.60300 ... 600 <40 0.50 ... 0.60600 ... 1000 <26 0.75 ... 0.80

Tabela 6: Caracterısticas do cabo

As extremidades do barramento CAN devem possuir um resistor de terminacao, no valorde 120Ω / 0.25W, conectando os sinais CAN H e CAN L. O cartao PLC1 possui uma chavepara habilitacao deste resistor, basta colocar ambos os pinos da chave na posicao ‘ON’.

O numero maximo de dispositivos conectados em um unico segmento da rede e limitadoem 64. Repetidores podem ser utilizados para conectar um numero maior de dispositivos.

2.4 Taxa de comunicacao

A taxa de comunicacao que pode ser utilizada por um equipamento na rede CANopendepende do comprimento do cabo utilizado na instalacao. A tabela a seguir mostra as taxasde comunicacao disponıveis para o cartao PLC1, e o comprimento maximo de cabo que podeser utilizado na instalacao de acordo com o recomendado pela CiA.

Taxa de comunicacao Comprimento do cabo

1 Mbit/s 40 m500 Kbit/s 100 m250 Kbit/s 250 m125 Kbit/s 500 m100 Kbit/s 600 m50 Kbit/s 1000 m20 Kbit/s 1000 m10 Kbit/s 1000 m

Tabela 7: Taxas de comunicacao suportadas e tamanho da instalacao

14

Page 15: Cartão PLC1 - CANopen Slave

3 Parametros da comunicacao CANopen

3 Parametros da comunicacao CANopen

O cartao PLC1 possui um conjunto de parametros para a configuracao do dispositivo narede, e tambem para diagnostico e monitoracao da comunicacao CANopen.

Os demais parametros nao citados aqui nao possuem relacao direta com a comunicacao,porem sao importantes para a operacao do cartao PLC1. Desta forma, deve-se saber comoutilizar os demais parametros, pois os mesmos tambem poderao ser utilizados durante suaoperacao via rede CANopen. Deve-se consultar o manual do cartao para a lista completa deparametros e sua descricao.

3.1 P770 - Protocolo CAN

O P770 permite a selecao do protocolo da camada de aplicacao desejado para o barra-mento CAN no cartao PLC1. E necessario selecionar a opcao ‘1’ para habilitar a comunicacaoCANopen.

Faixa de valores Padrao Acesso0 = Desabilitado1 = CANopen

0 = Desabilitado Leitura/escrita

NOTA!A alteracao deste parametro somente sera valida quando o cartao for desligado eligado novamente.

3.2 P771 - Endereco da rede CAN

Este parametro possibilita a selecao do endereco (Node-ID) da PLC1 na rede CANopen.

Faixa de valores Padrao Acesso1 ... 127 1 Leitura/

escrita

Cada dispositivo da rede precisa ter um Node-ID distinto, e portanto pode haver ate 127dispositivos em uma unica rede (com uso de repetidores). Este Node-ID tambem e utilizadopara definir o valor inicial para alguns objetos de comunicacao no cartao PLC1.

NOTA!A alteracao do Node-ID somente sera valida quando o cartao for desligado e ligadonovamente.

3.3 P772 - Taxa de comunicacao

Este parametro possibilita a selecao da taxa de comunicacao (baudrate) utilizada pelodispositivo.

15

Page 16: Cartão PLC1 - CANopen Slave

3 Parametros da comunicacao CANopen

Faixa de valores Padrao Acesso0 = 1 Mbit/s1 = Reservado2 = 500 kbit/s3 = 250 kbit/s4 = 125 kbit/s5 = 100 kbit/s6 = 50 kbit/s7 = 20 kbit/s8 = 10 kbit/s

0 = 1 Mbit/s Leitura/escrita

Para que os dispositivos da rede possam se comunicar, e necessario que todos possuamo mesmo baudrate configurado. Nao esquecer tambem que existe uma limitacao da taxa decomunicacao de acordo com o comprimento do cabo usado na instalacao (ver tabela 7).

NOTA!A alteracao da taxa de comunicacao somente sera valida quando o cartao for des-ligado e ligado novamente.

3.4 P773 - Reset de Bus Off

Quando o numero de erros ocorridos na rede CAN e muito grande, o dispositivo podeentrar no estado de bus off (ver item 1.1.4), onde ele deixa de acessar a rede. Caso ocorra esteerro, o parametro P773 permite programar se o cartao PLC1 deve permanecer no estado debus off, ou fazer o reset do erro automaticamente e reiniciar a comunicacao.

Faixa de valores Padrao Acesso0 = Permanecer em erro1 = Reset automatico

0 Leitura/escrita

3.5 P774 - Acao para erro de comunicacao

Caso dispositivo que esta sendo controlado pelo cartao esteja habilitado e um erro decomunicacao ocorra (cabo rompido, queda na tensao de alimentacao da rede, etc.), nao serapossıvel enviar comandos via rede para desabilita-lo. Para evitar esta condicao e possıvelprogramar no P774 uma acao que a PLC1 executara automaticamente no caso de falha derede.

Faixa de valores Padrao Acesso0 = Sem acao1 = Desabilita inversor

1 Leitura/escrita

O cartao PLC1 entende como falha na comunnicacao os eventos de bus off e de timeoutno servico de guarda do no.

16

Page 17: Cartão PLC1 - CANopen Slave

3 Parametros da comunicacao CANopen

3.6 P775 - Estado do controlador CAN

Fornece a informacao do estado do dispositivo com relacao ao barramento CAN. Ele iraindicar se o dispositivo esta operando corretamente, ou entao informara o tipo de erro que ocartao PLC1 apresenta com relacao a comunicacao.

Faixa de valores Padrao Acesso0 = Comunicacao nao esta habilitada1 = Reservado2 = Sem erro3 = Warning4 = Error Passive5 = Bus Off

- Somenteleitura

Estes erros sao funcao do numero de telegramas invalidos recebidos ou transmitidos paraa rede, de acordo com o descrito no item 1.1.4. O estado error passive, por exemplo, ocorrequando somente um equipamento esta conectado a rede, enviando telegramas sem que outroequipamento reconheca esses telegramas. O estado bus off pode ocorrer, por exemplo, quandodispositivos com diferentes taxas de comunicacao sao conectados na mesma rede, ou devido aproblemas na instalacao, como a falta de resistores de terminacao ou falta de alimentacao nobarramento.

3.7 P776 - Numero de telegramas recebidos

Este parametro funciona como um contador cıclico, que e incrementado toda vez queum telegrama CAN e recebido. Fornece um retorno para o operador se o dispositivo estaconseguindo comunicar-se com a rede.

Faixa de valores Padrao Acesso0 ... 65535 - Somente

leitura

3.8 P777 - Numero de telegramas transmitidos

Da mesma forma que o P776, este parametro funciona como um contador cıclico, que eincrementado toda vez que um telegrama CAN e transmitido, fornecendo um retorno para ooperador se o cartao PLC1 esta conseguindo se comunicar com a rede.

Faixa de valores Padrao Acesso0 ... 65535 - Somente

leitura

3.9 P778 - Numero de erros registrados

Contador cıclico que indica o numero vezes que o cartao PLC1 entrou em estado de busoff na rede CAN.

17

Page 18: Cartão PLC1 - CANopen Slave

3 Parametros da comunicacao CANopen

Faixa de valores Padrao Acesso0 ... 65535 - Somente

leitura

Sempre que o dispositivo e desligado, estes contadores (P776, P777 e P778) voltam parao valor 0 (zero), e iniciam novamente a contagem. Ao passar do valor 65535, os contadorestambem voltam para 0 (zero), e continuam a contagem.

3.10 P780 - Estado da rede CANopen

Indica o estado do cartao com relacao a rede CANopen, informando se o protocolo foihabilitado e se o servico de controle de erros esta ativo (guarda do no - Guarding).

Faixa de valores Padrao Acesso0 = Protocolo nao esta habilitado1 = Reservado2 = CANopen habilitado3 = Guarda do no habilitada4 = Erro de guarda do no

- Somenteleitura

Uma vez habilitado, o dispositivo esta pronto para se comunicar atraves da rede. Umadas funcoes importantes para o dispositivo poder detectar erros, seja nos escravos ou no mestreda rede, e o servico de guarda do dispositivo. Para saber como habilitar esta funcao, consulteo item 5.6.2.

3.11 P781 - Estado do no CANopen

O cartao PLC1 opera como escravo da rede CANopen, e como tal possui uma maquina deestados que controla o seu comportamento com relacao a comunicacao. Este parametro indicaem qual estado encontra-se o dispositivo.

Faixa de valores Padrao Acesso0 = Inicializacao4 = Parado5 = Operacional127 = Pre-operacional

- Somenteleitura

18

Page 19: Cartão PLC1 - CANopen Slave

4 Dicionario de objetos

4 Dicionario de objetos

O dicionario de objetos e uma lista com os diversos dados do equipamento que saoacessıveis via rede CANopen. Um objeto desta lista e identificado atraves de um ındice de16 bits, e e baseado nesta lista que toda a troca de dados entre os dispositivos e efetuada.

O documento CiA DS 301 define um conjunto mınimo de objetos que todo o escravo darede CANopen deve possuir. Os objetos disponıveis nesta lista sao agrupados de acordo com otipo de funcao que ele executa. Os objetos sao dispostos no dicionario da seguinte maneira:

Indice Objetos Descricao

0001h - 0360h Definicao dos tipos de dados Utilizado como referencia para os tipos dedados suportados pelo sistema.

1000h - 1FFFh Objetos de comunicacao Sao objetos comuns a todos os dispositivosCANopen. Contem informacoes gerais sobreo equipamento e tambem dados para a con-figuracao da comunicacao.

2000h - 5FFFh Objetos especıficos dofabricante

Nesta faixa, cada fabricante de equipamentosCANopen e livre para definir quais dados es-tes objetos irao representar.

6000h - 9FFFh Objetos padronizadospara dispositivos

Esta faixa e reservada para objetos que des-crevem o comportamento de equipamentossimilares, independente do fabricante. APLC1 nao utililiza esta faixa de objetos.

Tabela 8: Agrupamentos do dicionario de objetos

Demais ındices nao referenciados nesta lista sao reservados para uso futuro.

4.1 Estrutura do dicionario

A estrutura geral do dicionario de objetos possui o seguinte formato:

Indice Objeto Nome Tipo Acesso

• Indice: indica diretamente o ındice do objeto no dicionario.

• Objeto: descreve que informacao o ındice armazena (variavel simples, array, record, etc.)

• Nome: contem o nome do objeto para facilitar sua identificacao.

• Tipo: indica diretamente o tipo de dado armazenado. Para variaveis simples, este tipopode ser um inteiro, um float, etc. Para arrays, ele indica o tipo do dado contido noarray. Para records, ele indica o formato do record, de acordo com os tipos descritos naprimeira parte do dicionario de objetos (ındices 0001h - 0360h).

• Acesso: informa se o objeto em questao esta acessıvel somente para leitura (ro), paraleitura e escrita (rw), somente escrita (wo), ou e uma constante (const).

Para objetos do tipo array ou records, ainda e necessario um sub-ındice, que nao e descritona estrutura do dicionario.

19

Page 20: Cartão PLC1 - CANopen Slave

4 Dicionario de objetos

4.2 Tipos de dados

A primeira parte do dicionario de objetos (ındices 0001h - 0360h) descreve os tipos dedados que podem ser acessados em um dispositivo na rede CANopen. Estes podem ser tiposbasicos, como inteiros e floats, ou tipos compostos, formados por um conjunto de entradas,como records e arrays. A seguir sao apresentados os tipos de objetos utilizados pelo cartaoPLC1.

4.2.1 Tipos basicos

Os tipos basicos de dados suportados sao os seguintes:

• Inteiros com sinal : existem tres tipos de inteiros com sinal suportados pela PLC1, IN-TEGER8, INTEGER16 e INTEGER32, que representam, respectivamente, inteiros com8, 16 e 32 bits de dados. Inteiros com sinal sao calculados utilizando complemento dedois, e durante a transmissao, sempre o byte menos significativo e transmitido primeiroem um telegrama CAN.

• Inteiros sem sinal : existem tres tipos de inteiros sem sinal suportados pela PLC1, UN-SIGNED8, UNSIGNED16 e UNSIGNED32, que representam, respectivamente, inteiroscom 8, 16 e 32 bits de dados. Tambem durante a transmissao, sempre o byte menossignificativo e transmitido primeiro.

4.2.2 Tipos compostos

E possıvel formar novos tipos de dados atraves do agrupamento de tipos basicos em listas(arrays - formados por um unico tipo de dado) e estruturas (records - formado por diversostipos de dados). Neste caso, cada item deste tipo e identificado atraves de um sub-ındice. Ostipos compostos utilizados pelo cartao PLC1 sao listados abaixo.

• PDO COMM PARAMETER: este record define as informacoes necessarias para configu-rar um PDO para a comunicacao CANopen. O conteudo e forma como cada campo eutilizado sao detalhados no item 5.3.

Sub-ındice Descricao da entrada Tipo00h Numero de entradas suportadas neste record UNSIGNED801h COB-ID UNSIGNED3202h Transmission type UNSIGNED803h Inhibit time UNSIGNED1604h Reservado UNSIGNED805h Event timer UNSIGNED16

Tabela 9: Record para configuracao dos PDOs

• PDO MAPPING : este record define como mapear os dados que serao transmitidos porum PDO durante a comunicacao CANopen. O conteudo e forma como cada campo eutilizado sao detalhados no item 5.3.

20

Page 21: Cartão PLC1 - CANopen Slave

4 Dicionario de objetos

Sub-ındice Descricao da entrada Tipo00h Numero de objetos mapeados no PDO UNSIGNED801h 1o objeto mapeado UNSIGNED3202h 2o objeto mapeado UNSIGNED32...

......

40h 64o objeto mapeado UNSIGNED32

Tabela 10: Record para mapeamento dos dados de um PDO

• SDO PARAMETER: este record define as informacoes necessarias para configurar umSDO para a comunicacao CANopen. O conteudo e forma como cada campo e utilizadosao detalhados no item 5.2.

Sub-ındice Descricao da entrada Tipo00h Numero de entradas suportadas neste record UNSIGNED801h COB-ID cliente → servidor UNSIGNED3202h COB-ID servidor → cliente UNSIGNED3203h Node-ID do cliente/servidor UNSIGNED8

Tabela 11: Record para configuracao dos SDOs

• IDENTITY : este record e utilizado para descrever o tipo de dispositivo presente na rede.

Sub-ındice Descricao da entrada Tipo00h Numero de entradas suportadas neste record UNSIGNED801h Vendor-ID UNSIGNED3202h Product Code UNSIGNED3203h Revision Number UNSIGNED3204h Serial Number UNSIGNED32

Tabela 12: Record para identificacao do dispositivo

4.2.3 Tipos estendidos

O cartao PLC1 nao possui tipos estendidos.

4.3 Communication Profile - Objetos para comunicacao

Os ındices de 1000h ate 1FFFh correspondem, no dicionario de objetos, a parte res-ponsavel pelas configuracoes da comunicacao na rede CANopen. Estes objetos sao comuns atodos os dispositivos, porem somente alguns sao obrigatorios. A seguir e apresentada uma listacom os objetos desta faixa, suportados pela PLC1.

Indice Objeto Nome Tipo Acesso

1000h VAR device type UNSIGNED32 ro1001h VAR error register UNSIGNED8 ro

21

Page 22: Cartão PLC1 - CANopen Slave

4 Dicionario de objetos

Indice Objeto Nome Tipo Acesso

1003h ARRAY pre-defined error field UNSIGNED32 ro1005h VAR COB-ID SYNC UNSIGNED32 rw100Ch VAR guard time UNSIGNED16 rw100Dh VAR life time factor UNSIGNED8 rw1010h ARRAY store parameters UNSIGNED32 rw1011h ARRAY restore default parameters UNSIGNED32 rw1014h VAR COB-ID EMCY UNSIGNED32 ro1015h VAR Inhibit Time EMCY UNSIGNED16 rw1018h RECORD Identity Object Identity ro

Server SDO Parameter1200h RECORD 1st Server SDO parameter SDO Parameter ro

Receive PDO Communication Parameter1400h RECORD 1st receive PDO parameter PDO CommPar rw1401h RECORD 2nd receive PDO parameter PDO CommPar rw1402h RECORD 3rd receive PDO parameter PDO CommPar rw1403h RECORD 4th receive PDO parameter PDO CommPar rw

Receive PDO Mapping Parameter1600h RECORD 1st receive PDO mapping PDO Mapping rw1601h RECORD 2nd receive PDO mapping PDO Mapping rw1602h RECORD 3rd receive PDO mapping PDO Mapping rw1603h RECORD 4th receive PDO mapping PDO Mapping rw

Transmit PDO Communication Parameter1800h RECORD 1st transmit PDO parameter PDO CommPar rw1801h RECORD 2nd transmit PDO parameter PDO CommPar rw1802h RECORD 3rd transmit PDO parameter PDO CommPar rw1803h RECORD 4th transmit PDO parameter PDO CommPar rw

Transmit PDO Mapping Parameter1A00h RECORD 1st transmit PDO mapping PDO Mapping rw1A01h RECORD 2nd transmit PDO mapping PDO Mapping rw1A02h RECORD 3rd transmit PDO mapping PDO Mapping rw1A03h RECORD 4th transmit PDO mapping PDO Mapping rw

Tabela 13: Lista de objetos do cartao PLC1 - Communication Profile

Demais objetos nao mostrados nesta lista nao sao utilizados pela PLC1, ou entao estaoem faixas reservadas do dicionario.

4.4 Manufacturer Specific - Objetos especıficos do cartao PLC1

Nos ındices de 2000h ate 5FFFh, cada fabricante e livre para definir quais objetos estaraopresentes, o tipo e a funcao de cada objeto. No caso da PLC1, nesta faixa de objetos foidisponibilizada toda a lista de parametros. Atraves destes parametros entao, e possıvel operaro cartao, executando qualquer funcao programada para o dispositivo.

Os parametros foram disponibilizados a partir do ındice 2000h, e com o numero do

22

Page 23: Cartão PLC1 - CANopen Slave

4 Dicionario de objetos

parametro somado a este ındice para obter sua posicao no dicionario. A tabela a seguir ilustracomo estao distribuıdos os parametros no dicionario de objetos.

Indice Objeto Nome Tipo Acesso

22EEh VAR P750 - Versao de Firmware UNSIGNED16 ro22EFh VAR P751 - Ciclo de Scan (× 100µs) UNSIGNED16 ro22F0h VAR P752 - Zera marcadores retentivos UNSIGNED16 rw22F1h VAR P753 - Carrega valores de fabrica UNSIGNED16 rw22F2h VAR P754 - Referencia de posicao UNSIGNED16 ro

......

......

...2320h VAR P800 - Parametro do usuario UNSIGNED16 rw2321h VAR P801 - Parametro do usuario UNSIGNED16 rw2322h VAR P802 - Parametro do usuario UNSIGNED16 rw

......

......

...

Tabela 14: Lista de objetos da PLC1 - Manufacturer Specific

Para a lista completa e uma descricao detalhada dos parametros, consulte o manual docartao PLC1. Vale lembrar que os parametros do inversor ao qual o cartao PLC1 esta conectadonao podem ser acessados diretamente atraves da rede CANopen.

23

Page 24: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

5 Descricao dos objetos de comunicacao

Nesta secao sao descritos detalhadamente cada um dos objetos citados na tabela 13,alem de descrever tambem o funcionamento dos objetos de comunicacao (COBs) referenciadosno item 1.7. E necessario conhecer como estes objetos sao operados para utilizar as funcoesdisponıveis para a comunicacao do cartao PLC1.

5.1 Objetos de identificacao

Existe um conjunto de objetos no dicionario utilizados para identificacao do equipamento,porem nao possuem influencia no seu comportamento na rede CANopen.

5.1.1 Objeto 1000h - Device Type

Este objeto fornece um codigo em 32 bits que descreve o tipo de equipamento e suafuncionalidade.

Indice 1000hNome Device typeObjeto VARTipo UNSIGNED32

Acesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao 0000.0000h

Este codigo pode ser dividido em duas partes: 16 bits inferiores, descrevendo o tipo deProfile que o dispositivo utiliza, e 16 bits superiores, indicando uma funcao especıfica, de acordocom o Profile especificado. O cartao PLC nao segue um Profile definido pela especificacao CAN,logo este objeto apresenta valor 0 (zero).

5.1.2 Objeto 1001h - Error Register

Este objeto indica a ocorrencia ou nao de erro no dispositivo. O tipo de erro registradopara a PLC1 segue o descrito pela tabela 15.

Indice 1001hNome Error registerObjeto VARTipo UNSIGNED8

Acesso roMapeavel SimFaixa UNSIGNED8Valor Padrao 0

24

Page 25: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Bit Significado

0 Erro generico1 Corrente2 Tensao3 Temperatura4 Comunicacao5 Reservado (sempre 0)6 Reservado (sempre 0)7 Especıfico do fabricante

Tabela 15: Estrutura do objeto Error Register

Caso o dispositivo apresente algum erro, o bit equivalente deve ser ativado. O primeirobit (erro generico) devera ser ativado em qualquer situacao de erro.

5.1.3 Objeto 1003h - Pre-defined error field

Este objeto armazena a lista de erros existentes no dispositivo, e que foram reportados viaEMCY. O sub-ındice 0 (zero) indica a quantidade de erros ocorridos, e os demais sub-ındicesinformam os codigos de erro ocorridos. Uma vez que o erro tenha sido corrigido, o codigo doerro e removido da lista. Pode-se limpar esta lista escrevendo o valor 0 (zero) no sub-ındice 0(zero). A PLC1 suporta apenas um codigo de erro, logo a lista possui apenas uma posicao.

Indice 1003hNome Pre-defined error fieldObjeto ArrayTipo UNSIGNED32

Sub-ındice 0Descricao Numero de errosAcesso rwMapeavel NaoFaixa UNSIGNED8Valor Padrao 0

Sub-ındice 1Descricao Codigo do erroAcesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao 0

O codigo de erro de 32 bits e montado a partir de duas informacoes basicas: o numerodo erro de acordo com a tabela de erros especificada pela CiA e o numero do erro ocorrido nocartao, que sao agrupados da seguinte forma:

Codigo de erro PLC1 Codigo de erro CiAUNSIGNED16 UNSIGNED16

25

Page 26: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Os codigos de erro especıficos da PLC1 seguem o descrito pela tabela abaixo. Erros doinversor CFW-09 ao qual o cartao PLC1 esta conectado tambem sao enviados via rede.

Codigo de erro Codigo de erro DescricaoPLC1 CiA

50 8611h Erro de lag51 6300h Falha ao gravar programa52 6200h Dois ou mais movimentos habilitados si-

multaneamente53 6200h Dados de movimento invalidos54 6200h Inversor desabilitado55 6200h Programa incompatıvel ou fora dos limites de

memoria56 6300h CRC errado57 6200h Eixo nao referenciado para posicionamento

absoluto59 8100h Cartao fieldbus opcional esta offline60 8100h Erro de acesso no cartao fieldbus opcional65 8130h Erro de guarda do dispositivo

Tabela 16: Tabela de codigos de erro

5.1.4 Objeto 1018h - Identity object

Traz informacoes gerais sobre o dispositivo.

Indice 1018hNome Identity objetctObjeto RecordTipo Identity

Sub-ındice 0Descricao Numero do ultimo sub-ındiceAcesso roMapeavel NaoFaixa UNSIGNED8Valor Padrao 3

Sub-ındice 1Descricao Vendor IDAcesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao 0000.0123h

Sub-ındice 2Descricao Codigo do produtoAcesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao PLC1: 0000.0210h

26

Page 27: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Sub-ındice 3Descricao Numero da revisaoAcesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao De acordo com a versao de firmware do

equipamento

Sub-ındice 4Descricao Numero serialAcesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao -

O Vendor ID e um numero que identifica o fabricante junto a CiA. Neste caso, WEGIndustrias S.A. - Divisao Automacao e representada pelo numero 0000.00123h. O codigo doproduto e definido pelo fabricante, e varia de acordo com o modelo do cartao. O numero darevisao representa a versao de firmware do equipamento. O sub-ındice 4 informa o numeroserial do produto, que e unico para cada equipamento WEG na rede CANopen.

5.2 Service Data Objects - SDOs

Os SDOs sao responsaveis pelo acesso direto ao dicionario de objetos de um determinadodispositivo na rede. Eles sao utilizados para a configuracao, e portanto possuem baixa prio-ridade, ja que nao devem ser utilizados para comunicar dados necessarios para a operacao dodispositivo.

Existem dois tipos de SDOs: cliente e servidor. Basicamente, a comunicacao inicia como cliente (usualmente o mestre da rede) fazendo uma requisicao de leitura (upload) ou escrita(download) para um servidor, e este responde ao que foi requisitado.

MESTRE

Cliente SDOServidor SDO

PLC1

(PC, CLP, CNC, etc.)

Resposta

Requisição

Figura 4: Comunicacao entre Cliente e Servidor SDO

5.2.1 Objeto 1200h - Servidor SDO

A PLC1 possui um unico SDO do tipo servidor, que possibilita o acesso a todo o seu di-cionario de objetos. Atraves dele, um cliente SDO pode configurar a comunicacao e parametrosdo dispositivo. Todo o servidor SDO possui um objeto, do tipo SDO PARAMETER (ver item4.2.2), para a sua configuracao, possuindo a seguinte estrutura:

27

Page 28: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Indice 1200hNome Server SDO ParameterObjeto RecordTipo SDO Parameter

Sub-ındice 0Descricao Numero do ultimo sub-ındiceAcesso roMapeavel NaoFaixa UNSIGNED8Valor Padrao 2

Sub-ındice 1Descricao COB-ID Cliente - Servidor (rx)Acesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao 600h + Node-ID

Sub-ındice 2Descricao COB-ID Servidor - Cliente (tx)Acesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao 580h + Node-ID

5.2.2 Funcionamento dos SDOs

Todo o telegrama enviado por um SDO possui 8 bytes de tamanho, com a seguinte forma:

Identificador 8 bytes de dados

Comando Indice Sub-ındice Dados do objeto11 bits byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7

O identificador depende do sentido da transmissao (rx ou tx) e do endereco (ou Node-ID)do servidor destino. Por exemplo, um cliente que faz uma requisicao para um servidor cujoNode-ID e 1, deve enviar uma mensagem com o identificador igual a 601h. O servidor irareceber esta mensagem e responder com um telegrama cujo COB-ID e igual a 581h.

O codigo do comando depende do tipo de funcao utilizada. Para as transmissoes de umcliente para um servidor, podem ser utilizados os seguintes comandos:

Comando Funcao Descricao Dados do objeto

22h Download Escrita em objeto Indefinido23h Download Escrita em objeto 4 bytes2Bh Download Escrita em objeto 2 bytes2Fh Download Escrita em objeto 1 byte40h Upload Leitura de objeto Nao utilizado60h ou 70h Upload segment Leitura segmentada Nao utilizado

Tabela 17: Codigo dos comandos para cliente SDO

28

Page 29: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Ao fazer a requisicao, o cliente indicara atraves de seu COB-ID, qual o endereco do escravopara o qual esta requisicao se destina. Somente um escravo (usando seu respectivo servidorSDO) podera responder para o cliente o telegrama recebido.

Para leituras que envolvem ate quatro bytes de dados, uma unica mensagem pode sertransmitida pelo servidor; para leitura de uma quantidade maior de bytes, e necessario queo servidor envie multiplos telegramas. O telegrama de resposta possuira tambem a mesmaestrutura do telegrama de requisicao, porem os comandos serao diferentes:

Comando Funcao Descricao Dados do objeto

60h Download Resposta para escrita em objeto Nao utilizado43h Upload Resposta para leitura de objeto 4 bytes4Bh Upload Resposta para leitura de objeto 2 bytes4Fh Upload Resposta para leitura de objeto 1 byte41h Upload segment Inicia resposta segmentada para

leitura4 bytes

00h ou 10h Upload segment Segmento de dados para leitura 4 bytes06h ou 16h Upload segment Segmento de dados para leitura 2 bytes0Eh ou 1Eh Upload segment Segmento de dados para leitura 1 bytes

Tabela 18: Codigo dos comandos para servidor SDO

Um telegrama somente e completo apos a confirmacao do servidor para a requisicao feitapelo cliente. Caso algum erro seja detectado durante a troca de telegramas (por exemplo, naoha resposta do servidor), o cliente podera abortar o processo com uma mensagem de aviso como codigo do comando igual a 80h.

NOTA!Quando o SDO e utilizado para escrita nos objetos que representam os parametrosda PLC1 (objetos a partir do ındice 2000h), este valor e salvo na memoria naovolatil do cartao. Desta forma, apos desligado ou feito o reset do equipamento,os valores configurados nao sao perdidos. Para os demais objetos, estes valoresnao sao salvos automaticamente, de maneira que e necessario reescrever os valoresdesejados ou enviar comando para gravacao dos valores na flash, utilizando o objeto1010h.

Exemplo: um cliente SDO solicita para um cartao PLC1 no endereco 1, a leitura doobjeto identificado pelo ındice 22EEh, sub-ındice 0 (zero), que representa um inteiro sem sinalde 16 bits com a versao de firmware do equipamento (P750). O telegrama do mestre possui aseguinte forma:

Identificador Comando Indice Sub-ındice Dados601h 40h EEh 22h 00h 00h 00h 00h 00h

A PLC1 responde a requisicao, indicando que o valor para o referido objeto e igual a0096h3 (versao 1.50):

3Nao esquecer que qualquer dado do tipo inteiro, a ordem de transferencia dos bytes vai do menos significativoate o mais significativo

29

Page 30: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Identificador Comando Indice Sub-ındice Dados581h 4Bh EEh 22h 00h 96h 00h 00h 00h

5.3 Process Data Objects - PDOs

Os PDOs sao utilizados para enviar e receber dados utilizados durante a operacao dodispositivo, que muitas vezes precisam ser transmitidos de forma rapida e eficiente. Por isso,eles possuem uma prioridade maior do que os SDOs.

Nos PDOs, apenas os dados sao transmitidos no telegrama (ındices e sub-ındices saoomitidos), e desta forma e possıvel fazer uma transmissao mais eficiente, com maior volume dedados em um unico telegrama. Porem e necessario configurar previamente o que esta sendotransmitindo pelo PDO, de forma que, mesmo sem a indicacao do ındice e sub-ındice, sejapossıvel saber o conteudo do telegrama.

Existem dois tipos de PDOs, os PDOs de recepcao e os PDOs de transmissao. Os PDOsde transmissao sao responsaveis por enviar dados para a rede, enquanto que os PDOs derecepcao ficam responsaveis por receber e tratar estes dados. Desta forma e possıvel que hajacomunicacao entre escravos da rede CANopen, basta configurar um escravo para transmitiruma informacao, e um ou mais escravos para receber esta informacao.

PDO de Transmissão

MESTRE(PC, CLP, CNC, etc.)

PDO de Recepção

PLC1PLC1

PDO de Recepção

Figura 5: Comunicacao utilizando PDOs

NOTA!PDOs somente podem ser transmitidos ou recebidos quando o dispositivo esta noestado operacional. A figura 8 ilustra os estados disponıveis para um no da redeCANopen.

5.3.1 Objetos mapeaveis para os PDOs

Para um objeto poder ser transmitido atraves de um PDO, e necessario que ele sejamapeavel para o conteudo do PDO. Na descricao dos objetos de comunicacao (1000h - 1FFFh), ocampo Mapeavel informa se ele e ou nao mapeavel. Usualmente, apenas informacoes necessariaspara a operacao do dispositivo sao mapeaveis, como comandos para habilitacao, status dodispositivo, referencias, etc. Informacoes para configuracao do dispositivo nao sao acessıveisatraves de PDOs, e caso seja necessario acessa-las via rede deve-se utilizar os SDOs.

30

Page 31: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Para os objetos especıficos da PLC1 (2000h - 5FFFh), somente os parametros do usuario(P800 - P899) sao mapeaveis nos PDOs, sendo que os parametros P800 ate P849 sao mapeaveispara escrita (RPDOs, objetos 1600h ate 1603h), enquanto que os parametros P850 ate P899 saomapeaveis para leitura (TPDOs, objetos 1A00h ate 1A03h). Portanto, qualquer parametro dousuario pode ser transmitido ou recebido utilizando-se PDOs. O conteudo destes parametrose programavel via software WLP, e portanto a programacao do cartao PLC1 deve ser feitaprevendo-se quais as informacoes serao utilizadas via rede CANopen, e em quais parametrosestas informacoes serao disponibilizadas.

Indice Objeto Nome Tipo Acesso Mapeavel

2320h VAR P800 - Parametro do usuario UNSIGNED16 rw Escrita2321h VAR P801 - Parametro do usuario UNSIGNED16 rw Escrita2322h VAR P802 - Parametro do usuario UNSIGNED16 rw Escrita

......

......

......

2351h VAR P849 - Parametro do usuario UNSIGNED16 rw Escrita2352h VAR P850 - Parametro do usuario UNSIGNED16 rw Leitura2353h VAR P851 - Parametro do usuario UNSIGNED16 rw Leitura2354h VAR P852 - Parametro do usuario UNSIGNED16 rw Leitura

......

......

......

2383h VAR P899 - Parametro do usuario UNSIGNED16 rw Leitura

Tabela 19: Lista de parametros mapeaveis para PDOs

5.3.2 PDOs de recepcao

Os PDOs de recepcao, ou RPDOs, sao responsaveis por receber dados que outros dispo-sitivos enviam para a rede CANopen. O cartao PLC1 possui 4 PDOs de recepcao, cada umpodendo receber ate 8 bytes de dados. Cada RPDO possui dois parametros para sua confi-guracao, um PDO COMM PARAMETER e um PDO MAPPING, conforme descrito a seguir.

PDO COMM PARAMETER

Indice 1400h - 1403hNome Receive PDO communication parameterObjeto RecordTipo PDO COMM PARAMETER

Sub-ındice 0Descricao Numero do ultimo sub-ındiceAcesso roMapeavel NaoFaixa UNSIGNED8Valor Padrao 2

31

Page 32: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Sub-ındice 1Descricao COB-ID usado pelo PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1400h: 200h + Node-ID

1401h: 300h + Node-ID1402h: 400h + Node-ID1403h: 500h + Node-ID

Sub-ındice 2Descricao Tipo de transmissaoAcesso rwMapeavel NaoFaixa UNSIGNED8Valor Padrao 254

O sub-ındice 1 contem o COB-ID do PDO de recepcao. Sempre que uma mensagem forenviada para a rede, este objeto ira ler qual o COB-ID desta mensagem, e caso ele seja igualao valor deste campo, a mensagem sera recebida pelo dispositivo. Este campo e formado porum UNSIGNED32 com a seguinte estrutura:

Bit Valor Descricao

31 (MSB) 0 PDO esta habilitado1 PDO esta desabilitado

30 0 RTR permitido29 0 Tamanho do identificador = 11 bits

28 - 11 0 Nao utilizado pela PLC1, sempre 010 - 0 (LSB) X COB-ID de 11 bits

Tabela 20: Descricao do COB-ID

O bit 31 permite habilitar ou desabilitar o PDO. Os bits 30 e 29, que devem ser mantidosem 0 (zero), indicam respectivamente que o PDO aceita frames remotos (RTR frames) e queutiliza identificador de 11 bits. Como o cartao PLC1 nao utiliza identificadores de 29 bits, osbits de 28 - 11 devem ser mantidos em 0 (zero), enquanto que os bits de 10 ate 0 (zero) saousados para configurar o COB-ID para o PDO.

O sub-ındice 2 indica o tipo de transmissao deste objeto, de acordo com a tabela a seguir.

Tipo de transmissao Transmissao de PDOsCıclico Acıclico Sıncrono Assıncrono RTR

0 • •1 - 240 • •

241 - 251 Reservado252 • •253 • •254 •255 •

Tabela 21: Descricao do tipo de transmissao

32

Page 33: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

• Valores 0 - 240 : qualquer RPDOs programado nesta faixa possui o mesmo funcionamento.Ao detectar uma mensagem, ele ira receber os dados, porem nao atualizara os valoresrecebidos ate detectar o proximo telegrama SYNC.

• Valores 252 e 253 : nao permitido para PDOs de recepcao.

• Valores 254 e 255 : indica que nao possui relacao com o objeto de sincronizacao. Aoreceber uma mensagem, seus valores serao atualizados imediatamente.

PDO MAPPING

Indice 1600h - 1603hNome Receive PDO mappingObjeto RecordTipo PDO MAPPING

Sub-ındice 0Descricao Numero de objetos mapeadosAcesso roMapeavel NaoFaixa 0 = desabilitado

1 ... 4 = numero de objetos mapeadosValor Padrao 1600h: 4

1601h: 41602h: 41603h: 4

Sub-ındice 1Descricao 1o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1600h: 2320.0010h

1601h: 2324.0010h1602h: 2328.0010h1603h: 232C.0010h

Sub-ındice 2Descricao 2o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1600h: 2321.0010h

1601h: 2325.0010h1602h: 2329.0010h1603h: 232D.0010h

33

Page 34: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Sub-ındice 3Descricao 3o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1600h: 2322.0010h

1601h: 2326.0010h1602h: 232A.0010h1603h: 232E.0010h

Sub-ındice 4Descricao 4o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1600h: 2323.0010h

1601h: 2327.0010h1602h: 232B.0010h1603h: 232F.0010h

Este objeto indica os objetos mapeados para cada um dos quatro PDOs de recepcaodisponıveis. Para um unico PDO, e possıvel mapear ate quatro objetos diferentes, desde que otamanho total nao ultrapasse oito bytes. O mapeamento de um objeto e feito indicando o seuındice, sub-ındice4 e tamanho (em bits) em um campo UNSIGNED32, com o seguinte formato:

UNSIGNED32

Indice Sub-ındice Tamanho do objeto(16 bits) (8 bits) (8 bits)

Como exemplo, podemos analisar o primeiro PDO de recepcao, onde temos:

• Sub-ındice 0 = 4 : o RPDO possui quatro objetos mapeados.

• Sub-ındice 1 = 2320.0010h: o primeiro objeto mapeado possui ındice igual a 2320h (cor-respondente ao parametro P800), sub-ındice igua a 0 (zero) e tamanho de 16 bits.

• Sub-ındice 2 = 2321.0010h: o segundo objeto mapeado possui ındice igual a 2321h (cor-respondente ao parametro P801), sub-ındice igua a 0 (zero) e tamanho de 16 bits.

• Sub-ındice 3 = 2322.0010h: o terceiro objeto mapeado possui ındice igual a 2322h (cor-respondente ao parametro P802), sub-ındice igua a 0 (zero) e tamanho de 16 bits.

• Sub-ındice 4 = 2323.0010h: o quarto objeto mapeado possui ındice igual a 2323h (cor-respondente ao parametro P803), sub-ındice igua a 0 (zero) e tamanho de 16 bits.

Desta forma, sempre que este PDO receber um telegrama, ele vai saber que o telegramadevera conter oito bytes de dados, com o conteudo dos parametros P800, P801, P802 e P803- parametros estes que podem ser utilizados pelo usuario para programacao da placa PLC1.Estes sao valores padrao para o cartao PLC1. E possıvel modificar este mapeamento, alterando

4caso o objeto seja do tipo VAR e nao possua sub-ındice, deve ser indicado o valor 0 (zero) para o sub-ındice

34

Page 35: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

a quantidade ou o numero dos parametros mapeados. Lembrar que no maximo podem sermapeados 4 objetos ou 8 bytes, e que para os RPDOs e possıvel mapear os parametros P800ate P849 (conforme tabela 19).

NOTA!• Para poder alterar os objetos mapeados em um PDO, primeiro e necessarioescrever o valor 0 (zero) no sub-ındice 0 (zero). Desta forma, os valores dos sub-ındices 1 ate 4 podem ser alterados. Apos feito o mapeamento desejado, deve-seescrever novamente no sub-ındice 0 (zero) o numero de objetos que foram mapea-dos, habilitando novamente o PDO.• Para agilizar a atualizacao dos dados via PDO, os valores recebidos atravesdestes objetos nao sao salvos na memoria nao volatil da PLC1. Desta forma,apos um desligamento ou reset do equipamento, os valores modificados nao seraorestaurados.

5.3.3 PDOs de transmissao

Os PDOs de transmissao, ou TPDOs, como o nome diz, sao responsaveis por transmitirdados para a rede CANopen. A PLC1 possui 4 PDOs de transmissao, cada um podendotransmitir ate 8 bytes de dados. De forma semelhante aos RPDOs, cada TPDO possui doisparametros para sua configuracao, um PDO COMM PARAMETER e um PDO MAPPING,conforme descrito a seguir.

PDO COMM PARAMETER

Indice 1800h - 1803hNome Transmit PDO ParameterObjeto RecordTipo PDO COMM PARAMETER

Sub-ındice 0Descricao Numero do ultimo sub-ındiceAcesso roMapeavel NaoFaixa UNSIGNED8Valor Padrao 5

Sub-ındice 1Descricao COB-ID usado pelo PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1800h: 180h + Node-ID

1801h: 280h + Node-ID1802h: 380h + Node-ID1803h: 480h + Node-ID

35

Page 36: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Sub-ındice 2Descricao Tipo de transmissaoAcesso rwMapeavel NaoFaixa UNSIGNED8Valor Padrao 254

Sub-ındice 3Descricao Tempo entre transmissoesAcesso rwMapeavel NaoFaixa UNSIGNED16Valor Padrao -

Sub-ındice 4Descricao ReservadoAcesso rwMapeavel NaoFaixa UNSIGNED8Valor Padrao -

Sub-ındice 5Descricao Temporizador de eventosAcesso rwMapeavel NaoFaixa 0 = desabilitado

UNSIGNED16Valor Padrao 0

O sub-ındice 1 contem o COB-ID do PDO de transmissao. Sempre que este PDO enviaruma mensagem para a rede, o identificador desta mensagem sera este COB-ID. A estruturadeste campo e descrita na tabela 20.

O sub-ındice 2 indica o tipo de transmissao deste objeto, que segue o descrito pela tabela21. Porem seu funcionamento e diferente para PDOs de transmissao:

• Valor 0 : indica que a transmissao deve ocorrer imediatamente apos a recepcao de umtelegrama SYNC, mas nao periodicamente.

• Valores 1 - 240 : o PDO deve ser transmitido periodicamente a cada telegrama SYNCdetectado (ou ocorrencias multiplas de SYNC, de acordo com o numero escolhido entre1 e 240).

• Valor 252 : indica que o conteudo da mensagem deve ser atualizado (mas nao enviado),apos a recepcao de um telegrama SYNC. O envio da mensagem deve ser feito apos arecepcao de um frame remoto (RTR frame).

• Valor 253 : o PDO deve atualizar e enviar uma mensagem assim que receber um frameremoto.

• Valores 254 e 255 : o objeto deve ser transmitido de acordo com o timer programado nosub-ındice 5.

36

Page 37: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

No sub-ındice 3 e possıvel programar um tempo mınimo (em multiplos de 100µs) que devetranscorrer para que, apos transmitido um telegrama, um novo telegrama possa ser enviado poreste PDO. O valor 0 (zero) desabilita esta funcao.

O sub-ındice 5 contem um valor para habilitar um temporizador para a envio automaticode um PDO. Desta forma, sempre que um PDO for configurado para o tipo assıncrono, e possıvelprogramar o valor deste temporizador (em multiplos de 1ms), para que o PDO seja transmitidoperiodicamente no tempo programado. O valor maximo permitido para esta programacao e de3000ms.

NOTA!• Deve-se observar o tempo programado neste temporizador, de acordo com a taxade transmissao utilizada. Tempos muito pequenos (proximos ao tempo de trans-missao do telegrama) podem monopolizar o barramento, causando a retransmissaoindefinida do PDO e impedindo que outros objetos menos prioritarios possam trans-mitir seus dados.• Nao esquecer que os PDOs somente podem ser transmitidos ou recebidos noestado operacional.

PDO MAPPING

Indice 1A00h - 1A03hNome Transmit PDO mappingObjeto RecordTipo PDO MAPPING

Sub-ındice 0Descricao Numero do ultimo sub-ındiceAcesso roMapeavel NaoFaixa 0 = desabilitado

1 ... 4 = numero de objetos mapeadosValor Padrao 1A00h: 4

1A01h: 41A02h: 41A03h: 4

Sub-ındice 1Descricao 1o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1A00h: 2352.0010h

1A01h: 2356.0010h1A02h: 235A.0010h1A03h: 235E.0010h

37

Page 38: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Sub-ındice 2Descricao 2o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1A00h: 2353.0010h

1A01h: 2357.0010h1A02h: 235B.0010h1A03h: 235F.0010h

Sub-ındice 3Descricao 3o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1A00h: 2354.0010h

1A01h: 2358.0010h1A02h: 235C.0010h1A03h: 2360.0010h

Sub-ındice 4Descricao 4o objeto mapeado no PDOAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 1A00h: 2355.0010h

1A01h: 2359.0010h1A02h: 235D.0010h1A03h: 2361.0010h

O PDO MAPPING para a transmissao funciona de forma semelhante que para a recepcao,porem neste caso sao definidos os dados a serem transmitidos pelo PDO. Cada objeto mapeadodeve ser colocado na lista de acordo com o descrito a seguir:

UNSIGNED32

Indice Sub-ındice Tamanho do objeto(16 bits) (8 bits) (8 bits)

Como exemplo, podemos analisar o primeiro PDO de transmissao, onde temos:

• Sub-ındice 0 = 4 : este PDO possui quatro objetos mapeados.

• Sub-ındice 1 = 2352.0010h: o primeiro objeto mapeado possui ındice igual a 2352h (cor-respondente ao parametro P850), sub-ındice 0 (zero), e tamanho igual a 16 bits.

• Sub-ındice 2 = 2353.0010h: o segundo objeto mapeado possui ındice igual a 2353h (cor-respondente ao parametro P851), sub-ındice 0 (zero), e tamanho igual a 16 bits.

• Sub-ındice 3 = 2354.0010h: o terceiro objeto mapeado possui ındice igual a 2354h (cor-respondente ao parametro P852), sub-ındice 0 (zero), e tamanho igual a 16 bits.

38

Page 39: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

• Sub-ındice 4 = 2355.0010h: o quarto objeto mapeado possui ındice igual a 2355h (cor-respondente ao parametro P853), sub-ındice 0 (zero), e tamanho igual a 16 bits.

Desta forma, sempre que este PDO for transmitir os seus dados, ele vai elaborar o seutelegrama contendo oito bytes de dados, com os valores dos parametros P850, P851, P852e P853. Estes valores sao valores padrao para o cartao PLC1. E possıvel modificar estemapeamento, alterando a quantidade ou o numero dos parametros mapeados. Lembrar que nomaximo podem ser mapeados 4 objetos ou 8 bytes, e que para os TPDOs e possıvel mapear osparametros P850 ate P899 (conforme tabela 19).

NOTA!Para poder alterar os objetos mapeados em um PDO, primeiro e necessario escre-ver o valor 0 (zero) no sub-ındice 0 (zero). Desta forma, os valores dos sub-ındices1 ate 4 podem ser alterados. Apos feito o mapeamento desejado, deve-se escre-ver novamente no sub-ındice 0 (zero) o numero de objetos que foram mapeados,habilitando novamente o PDO.

5.4 Emergency Object - EMCY

O objeto de emergencia (EMCY) e utilizado para sinalizar a ocorrencia de um erro nodispositivo. Sempre que um erro ocorrer no cartao PLC1, este objeto ira enviar uma mensagemde emergencia para a rede. Esta mensagem podera ser interpretada por um consumidor EMCY(usualmente o mestre da rede), que podera tomar uma acao de acordo com o programado paraa aplicacao, como por exemplo desabilitar os demais dispositivos da rede e sinalizar a ocorrenciado erro.

(PC, CLP, CNC, etc.)

Mensagem de emergência

Consumidor EMCY Produtor EMCY

PLC1

MESTRE

Erro no dispositivo!

Figura 6: EMCY

Ao transmitir uma mensagem, tres informacoes sao enviadas nos oitos bytes de dadosdo telegrama: o codigo de erro CiA, o objeto 1001h (error register) e o codigo do erro docartao PLC1. Estes codigos estao descritos na tabela 16. O telegrama possui entao a seguinteestrutura:

byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7Codigo do erro Objeto 1001h Codigo do erro Reservado (00h)

CiA Error Register PLC1

39

Page 40: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Existe um unico parametro que possibilita ler qual o COB-ID do objeto, ou seja, qual oidentificador do telegrama para as mensagens de erro enviadas.

Indice 1014hNome COB-ID emergency messageObjeto VARTipo UNSIGNED32

Acesso roMapeavel NaoFaixa UNSIGNED32Valor Padrao 80h + Node-ID

5.5 Synchronization Object - SYNC

Este objeto e transmitido com o objetivo de permitir a sincronizacao de eventos entre osdispositivos da rede CANopen. Ele e transmitido por um produtor SYNC, e os dispositivosque detectam a sua transmissao sao denominados consumidores SYNC.

A PLC1 possui a funcao de consumidor SYNC, e portanto pode programar seus PDOspara serem sıncronos. Como descrito na tabela 21, PDOs sıncronos sao aqueles relacionados como objeto de sincronizacao, podendo ser programados para serem transmitidos ou atualizadoscom base neste objeto.

PDO #3

PDO #2

PDO #1

Período

PDO #2

PDO #1

PDO #3SYNC

SYNC

Men

sagem

Assínc

rona

Figura 7: SYNC

NOTA!Deve-se observar o tempo programado no produtor para o perıodo dos telegra-mas SYNC, de acordo com a taxa de transmissao utilizada e o numero de PDOssıncronos a serem transmitidos. E necessario que haja tempo suficiente para atransmissao destes objetos, e tambem e recomendado que haja folga para possibi-litar o envio de mensagens assıncronas, como EMCY, PDOs assıncronos e SDOs.

A mensagem SYNC transmitida pelo produtor nao possui dado algum em seu campo dedados, pois seu objetivo e fornecer uma base de tempo para os demais objetos. No cartaoPLC1, existe um objeto para a configuracao do COB-ID do consumidor SYNC.

40

Page 41: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Indice 1005hNome COB-ID SYNCObjeto VARTipo UNSIGNED32

Acesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao 80h

5.6 Network Management - NMT

O objeto de gerenciamento da rede e responsavel por um conjunto de servicos que con-trolam a comunicacao do dispositivo na rede CANopen. Para o cartao PLC1 estao disponıveisos servicos de controle do no e de controle de erros (utilizando Guarding).

5.6.1 Controle dos estados do escravo

Com relacao a comunicacao, um dispositivo da rede CANopen pode ser descrito pelaseguinte maquina de estados:

Inicialização

Power On

Pré−operacional

Operacional

Parado

(1)

(2)

(3) (4)

(3)

(4)

(5)

(5)

(6, 7)

Figura 8: Diagrama de estados do no CANopen

41

Page 42: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Transicao Descricao

1 Dispositivo e ligado e comeca a inicializacao (automatico)2 Inicializacao concluıda, vai para o estado pre-operacional (au-

tomatico)3 Recebe comando Start Node para entrar no estado operacional4 Recebe comando Enter Pre-Operational, e vai para o estado pre-

operacional5 Recebe comando Stop Node para entrar no estado parado6 Recebe comando Reset Node, onde executa o reset completo do

dispositivo7 Recebo comando Reset Communication, onde reinicializa o valor

dos objetos e a comunicacao CANopen do dispositivo

Tabela 22: Descricao das transicoes

Durante a inicializacao, e definido o Node-ID, criados os objetos e configurada a interfacecom a rede CAN. Nao e possıvel comunicar-se com o dispositivo nesta etapa, que e concluıdaautomaticamente. No final desta etapa, o escravo envia para rede um telegrama do objetoBoot-up, utilizado apenas para indicar que a inicializacao foi concluıda e que o escravo entrouno estado pre-operacional. Este telegrama possui identificador 700h + Node-ID, e apenas umbyte de dados com valor igual a 0 (zero).

No estado pre-operacional, ja e possıvel comunicar-se com o escravo, porem os PDOs aindanao estao disponıveis para operacao. No estado operacional, todos os objetos estao disponıveis,enquanto que no estado parado, apenas o objeto NMT pode receber ou transmitir telegramaspara a rede. A tabela a seguir mostra os objetos disponıveis para cada estado.

Inicializacao Pre-operacional Operacional Parado

PDO •SDO • •

SYNC • •EMCY • •Boot-up •NMT • • •

Tabela 23: Objetos acessıveis em cada estado

O parametro P781 permite observar em qual estado a PLC1 encontra-se no momento, deacordo com o descrito no item 3.11.

Esta maquina de estados e controlada pelo mestre da rede, que envia para cada escravo,comandos para que seja executada a transicao de estados desejada. Estes telegramas naopossuem confirmacao, o que significa que o escravo apenas recebe o telegrama sem retornarresposta para o mestre. Os telegramas recebidos possuem a seguinte estrutura:

Identificador byte 1 byte 200h Codigo do comando Node-ID destino

42

Page 43: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Codigo do comando Node-ID destino

1 = START node (transicao 3) 0 = Todos os escravos2 = STOP node (transicao 4) 1 ... 127 = Escravo especıfico128 = Enter pre-operational (transicao 5)129 = Reset node (transicao 6)130 = Reset comunication (transicao 7)

Tabela 24: Comandos recebidos pelo escravo

As transicoes indicadas no codigo do comando equivalem as transicoes de estado executa-das pelo no apos receber o comando (conforme figura 8). O comando Reset node faz com que aPLC1 execute um reset completo do dispositivo, enquanto que o comando Reset communicationfaz com que o dispositivo reinicialize apenas os objetos relativos a comunicacao CANopen.

5.6.2 Controle de Erros - Guarding

Existem dois servicos para controle de erros do dispositivo: heartbeat e guarding. Destes,apenas o servico de guarda do no (guarding) esta implementado no cartao PLC1.

A guarda do dispositivo e utilizada para possibilitar a monitoracao da comunicacao coma rede CANopen, tanto pelo mestre quanto pelo escravo. Neste tipo de servico, o mestre enviatelegramas periodicos para o escravo, que responde o telegrama recebido. Caso ocorra algumerro que interrompa a comunicacao, sera possıvel identificar este erro, pois tanto o mestrequanto o escravo serao notificados pelo timeout na execucao deste servico. Os eventos de errosao chamados de Node guarding para o mestre, e de Life guarding para o escravo.

Erro!!!

da requisiçãoTimeout na espera

Erro!!!

Falha na comunicação

Requisição

PLC1MESTRE

(PC, CLP, CNC, etc.)

PLC1MESTRE

(PC, CLP, CNC, etc.)

Periódico

Requisição

Resposta

da respostaTimeout na espera

Figura 9: Servico de controle de erros - Guarding

Para o servico da guarda do dispositivo CANopen, existem dois objetos do dicionario paraconfiguracao dos tempos para indicacao de erro.

43

Page 44: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Indice 100ChNome Guard timeObjeto VARTipo UNSIGNED16

Acesso rwMapeavel NaoFaixa UNSIGNED16Valor Padrao 0

Indice 100DhNome Life time factorObjeto VARTipo UNSIGNED8

Acesso rwMapeavel NaoFaixa UNSIGNED8

0 = DesabilitadoValor Padrao 0

O objeto 100Ch permite programar o tempo necessario (em milisegundos) para que umaocorrencia de falha seja detectada, caso a PLC1 nao receba nenhum telegrama de guardado mestre. O objeto 100Dh indica quantas falhas em sequencia sao necessarias ate que seconsidere que houve realmente erro de comunicacao. Portanto, a multiplicacao destes doisvalores fornecera o tempo total necessario para deteccao de erros de comunicacao utilizandoeste objeto. O valor 0 (zero) desabilita esta funcao.

Uma vez configurado, o cartao PLC1 comeca a contar estes tempos a partir do primeirotelegrama de guarda recebido do mestre da rede.

O telegrama do mestre e do tipo remoto, e nao possui bytes de dados. O identificadore igual a 700h + Node-ID do escravo destino. Ja o telegrama de resposta do escravo possui 1byte de dados com a seguinte estrutura:

Identificador byte 1bit 7 bit 6 ... bit 0

700h + Node-ID Toggle Estado do escravo

Este byte de dados contem, nos sete bits menos significativos, um valor para indicar oestado do escravo (4 = Parado, 5 = Operacional e 127 = Pre-operacional), e no oitavo bit, umvalor que deve ser alterado a cada telegrama de guarda enviado pelo escravo (toggle bit).

Caso o cartao PLC1 detecte um erro utilizando este mecanismo, ele automaticamente irapara o estado pre-operacional. O estado do cartao na rede pode ser conferido no parametroP781, enquanto que a ocorrencia de erro de guarda pode ser observada no parametro P780.E possıvel tambem programar o cartao PLC1 para tomar uma acao quando este erro ocorrer,atraves do parametro P774. Consulte o item 3 para a descricao detalhada dos parametros.

44

Page 45: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

NOTA!Com relacao a utilizacao deste servico, deve-se observar os seguintes pontos:• Este objeto esta ativo mesmo no estado parado (tabela 23).• O valor maximo permitido para o objeto 100Ch e 3276ms.• Os tempos para habilitacao desta funcao devem ser programados tanto no mestreda rede quanto no escravo, para que possam operar em conjunto.• Levando-se em conta a taxa de transmissao e o numero de pontos na rede, ostempos programados para essa funcao devem ser coerentes, de maneira que hajatempo suficiente para transmissao dos telegramas de guarda, e tambem para queo resto da comunicacao possa ser processada.

5.7 Salvar e restaurar configuracao

O cartao PLC1 possui valores padrao para cada um dos objetos de comunicacao (ındices1000h ate 1FFFh). Estes valores sao utilizados pelo cartao sempre que este for energizado,caso nenhuma configuracao esteja salva na memoria nao volatil do dispositivo, e precisam seralterados de acordo com o desejado para a aplicacao.

Porem, atraves dos objetos 1010h e 1011h, e possıvel salvar na memoria do cartao PLC1 aconfiguracao feita nos objetos de comunicacao, ou restaurar a configuracao original. Desta formaos valores salvos serao utilizados pelo cartao durante sua energizacao, nao sendo necessarioreconfigurar todos os objetos a cada vez que o dispositivo for ligado.

5.7.1 Objeto 1010h - Store parameters

Este objeto permite salvar ou apagar a configuracao feita para o dicionario de objetos namemoria nao volatil do cartao PLC1. Os sub-ındices 1, 2 e 3 referem-se a diferentes areas dodicionario de objetos do cartao:

• Sub-ındice 1: refere-se a todo o dicionario de objetos do cartao PLC1.

• Sub-ındice 2: refere-se aos objetos de comunicacao (ındices 1000h ate 1FFFh).

• Sub-ındice 3: refere-se aos objetos de 2000h ate 2FFF, que equivalem aos parametros daPLC1.

Indice 1010hNome Store parametersObjeto ARRAYTipo UNSIGNED32

45

Page 46: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Sub-ındice 0Descricao Numero do ultimo sub-ındiceAcesso roMapeavel NaoFaixa UNSIGNED8Valor Padrao 3

Sub-ındice 1Descricao Save all parametersAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao -

Sub-ındice 2Descricao Save communication parametersAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao -

Sub-ındice 3Descricao Save application parametersAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao -

Cada um dos sub-ındices deste objeto pode ser lido ou escrito utilizando mensagemsatraves o SDO do cartao, porem eles possuem comportamentos diferentes para leitura e escrita.

Durante a escrita, os sub-ındices aceitam dois valores:

• 6576.6173h: equivale aos caracteres ASCII ’e v a s’, que formam a palavra “save” quandolidos a partir do byte menos significativo. Ao escrever este valor nos sub-ındices 1 ou 2, odispositivo ira salvar o conteudo dos objetos de comunicacao na sua memoria nao volatil.Escrever este valor no sub-ındice 3 nao causa efeito algum (pois os parametros do cartaoPLC1 sao salvos automaticamente na memoria nao volatil).

• 6C6C.696Bh: equivale aos caracteres ASCII ’l l i k’, que formam a palavra “kill” quandolidos a partir do byte menos significativo. Este comando apaga da memoria qualquerconfiguracao salva anteriormente. Desta forma, o dispositivo volta a utilizar os valorespadrao descritos para os objetos de comunicacao. Os parametros do usuario nao saoalterados por este comando.

Durante a leitura dos sub-ındices, estes fornecem informacoes a respeito da funcionalidadedo dispositivo com relacao ao armazenamento dos dados, no seguinte formato:

UNSIGNED32Bits 31 - 2 Bit 1 Bit 0

reservado (= 0) 0 ou 1 0 ou 1

46

Page 47: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Bit valor significado31 - 2 0 reservado1 0 Dispositivo nao salva automaticamente valores dos parametros

1 Dispositivo salva automaticamente valores dos parametros0 0 Dispositivo nao executa comando para salvar valores dos parametros

1 Dispositivo executa comando para salvar valores dos parametros

Os valores de leitura para cada sub-ındice sao os seguintes:

• Sub-ındice 1: 0000.0001h, significando que o dispositivo salva valores dos parametrosapenas ao receber o comando (neste caso apenas os objetos de comunicacao serao salvos).

• Sub-ındice 2: 0000.0001h, significando que o dispositivo salva valores dos parametrosapenas ao receber o comando (ındices 1000h ate 1FFFh).

• Sub-ındice 3: 0000.0002h, significando que os valores dos parametros sao salvos automa-ticamente na memoria nao volatil do dispositivo (ındices de 2000h ate 2FFFh).

5.7.2 Objeto 1011h - Restore default parameters

Restaurar os valores padrao para o dicionario de objetos. De forma semelhante ao objeto1010, existem 3 sub-ındices representando diferentes faixas do dicionario:

• Sub-ındice 1: refere-se a todo o dicionario de objetos do cartao PLC1.

• Sub-ındice 2: refere-se aos objetos de comunicacao (ındices 1000h ate 1FFFh).

• Sub-ındice 3: refere-se aos objetos de 2000h ate 2FFF, que equivalem aos parametros daPLC1.

Indice 1010hNome Restore default parametersObjeto ARRAYTipo UNSIGNED32

Sub-ındice 0Descricao Numero do ultimo sub-ındiceAcesso roMapeavel NaoFaixa UNSIGNED8Valor Padrao 3

Sub-ındice 1Descricao Save all parametersAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao -

47

Page 48: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

Sub-ındice 2Descricao Save communication parametersAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao -

Sub-ındice 3Descricao Save application parametersAcesso rwMapeavel NaoFaixa UNSIGNED32Valor Padrao -

Cada um dos sub-ındices deste objeto pode ser lido ou escrito utilizando mensagens atraveso SDO do cartao, porem eles possuem comportamentos diferentes para leitura e escrita.

Durante a escrita, apenas um valor e aceito:

• 6461.6F6Ch: equivale aos caracteres ASCII ’d a o l’, que formam a palavra “load” quandolidos a partir do byte menos significativo. Ao escrever este valor nos sub-ındices 1 ou 2,o dispositivo ira restaurar o conteudo dos objetos de comunicacao para o valor padrao decada objeto. Escrever este valor no sub-ındice 3 nao causa efeito no dispositivo.

Durante a leitura dos sub-ındices, estes fornecem informacoes a respeito da funcionalidadedo dispositivo com relacao ao armazenamento dos dados, no seguinte formato:

UNSIGNED32Bits 31 - 1 Bit 0

reservado (= 0) 0 ou 1

Bit valor significado31 - 1 0 reservado0 0 Dispositivo nao restaura valores padrao

1 Dispositivo restaura valores padrao

Os valores de leitura para cada sub-ındice sao os seguintes:

• Sub-ındice 1: 0000.0001h, significando que o dispositivo restaura os valores padrao dosparametros apenas ao receber o comando (neste caso apenas os objetos de comunicacaoserao restaurados).

• Sub-ındice 2: 0000.0001h, significando que o dispositivo restaura os valores padrao dosparametros apenas ao receber o comando (ındices 1000h ate 1FFFh).

• Sub-ındice 3: 0000.0000h, significando que os valores dos parametros nao podem serrestaurados (ındices de 2000h ate 2FFFh).

48

Page 49: Cartão PLC1 - CANopen Slave

5 Descricao dos objetos de comunicacao

5.8 Procedimento de inicializacao

Uma vez conhecido o funcionamento dos objetos disponıveis para o cartao PLC1, e ne-cessario agora programar os diferentes objetos para operarem em conjunto na rede. De formageral, o procedimento para inicializacao dos objetos em uma rede CANopen segue o descritopelo fluxograma a seguir:

para o estado operacional

Configuração de todos os parâmetrosdo dispositivo via SDO

Inicia a transmissão do objeto SYNC(se o mesmo for utilizado)

Configura e inicia o objeto Guarding(se o mesmo for utilizado)

Comanda todos os dispositivos da rede

Figura 10: Fluxograma do processo de inicializacao

E necessario observar que os objetos de comunicacao do cartao (1000h ate 1FFFh) naosao armazenados na memoria nao volatil do cartao automaticamente. Desta forma, e necessarioutilizar sempre uma das seguintes estrategias para cada dispositivo da rede:

• Salvar a configuracao do dispositivo utilizando o objeto 1010h, ou

• Sempre que for feito o reset ou desligado o equipamento, e necessario refazer a configuracaodos objetos de comunicacao.

Para os objetos especıficos do fabricante (2000h ate 2FFFh, equivalentes aos parametrosdo cartao PLC1), estes sao amazenados na memoria nao volatil automaticamente, e portantonao e necessario que sejam parametrizados a cada inicializacao.

49

Page 50: Cartão PLC1 - CANopen Slave

6 Erros da comunicacao CANopen

6 Erros da comunicacao CANopen

A seguir serao descritos os erros da PLC1 especıficos da interface CAN e do protocoloCANopen.

6.1 E61 - Bus off

Quando uma quantidade muito grande de erros de comunicacao e detectada por umdispositivo da rede CAN, este dispositivo pode ir para o estado de bus off, onde ele para deacessar o barramento. Para a PLC1, caso ocorra esta condicao, sera mostrado E61 na IHM doproduto. E importante observar que, caso o parametro P773 esteja programado para fazer oreset de bus off automaticamente, este erro sera desconsiderado e nao sera indicado.

Diversos problemas podem ocasionar este erro. Alguns itens que podem ser observadospara resolver este problema sao:

• Programacao incorreta da taxa de comunicacao. E necessario que todos os dispositivosda rede CANopen estejam programados com a mesma taxa de comunicacao. Caso algumdispositivo esteja com a programacao incorreta, este pode causar erro em si proprio ounos demais.

• Falta de alimentacao na rede. E necessario que a alimentacao de 24 Vcc esteja ligadaantes que o dispositivos seja ligado e tente transmitir telegramas para a rede.

• Falta do resistor de terminacao. E necessario habilitar resistores de terminacao nos ex-tremos do barramento, para que a comunicacao possa ocorrer sem problemas.

• Instalacao incorreta. Deve-se checar os cabos para saber se nao existe ligacoes invertidas,se a passagem dos cabos esta correta, e se o cabo e dos dispositivos estao devidamenteaterrados.

6.2 E65 - Erro de guarda do no

Um dos servicos disponıveis para a rede CANopen e o de monitoramento do dispositivopelo mestre da rede, onde telegramas periodicos sao trocados para que possa-se assegurar quea comunicacao esteja ocorrendo sem problemas (Node Guarding). Apos iniciado a troca destestelegramas, caso a comunicacao seja interrompida por um tempo maior do que o programado,a PLC1 ira mostrar E65 na IHM do produto, indicando erro de guarda do no.

Este funcao e dependente das configuracoes feitas pelo mestre da rede. Eventuais errosque possam ocorrer podem ser decorrentes de problemas na comunicacao, ou de programacaoinadequada do mestre ou dos objetos de comunicacao atraves dos quais esta funcao e habilitada.Para a descricao detalhada desta funcao deve-se consultar o item 5.6.2.

50

Page 51: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

7 Exemplos de aplicacao

Nesta secao serao mostrados exemplos de parametrizacao e operacao do cartao PLC1conectado a um inversor de frequencia CFW-09 para opera-lo via rede CANopen. Para osexemplos, sera considerada a seguinte configuracao para a rede:

• 1 Mestre: sera utilizado um equipamento generico, programavel, com uma interface paraa rede CANopen, que possua as funcionalidades de:

– Mestre da rede (controla estados do dispositivos e node guarding)

– Produtor SYNC

– Consumidor EMCY

– Cliente SDO

• 2 Escravos : serao utilizados 2 cartoes PLC1 instalados em 2 inversores de frequenciaCFW-09, como escravos da rede CANopen.

PLC1 #2

IHMCLPEtc...

MESTRE

24 VccFonte

Barramento CANTerminação

Terminação

PLC1 #1

Figura 11: Rede utilizada nos exemplos de aplicacao

Com relacao a instalacao, deve-se habilitar os resistores de terminacao nos dois extremosdo barramento. A PLC1 ja possui uma chave para acionamento deste resistor. Caso um dosequipamentos nao possua esta opcao, pode-se adicionar um resistor no proprio conector da rede(entre os pinos CAN L e CAN H). E necessario aterrar todos os pontos da rede, preferenci-almente no mesmo ponto de terra, e utilizar uma fonte para alimentar a interface CAN viabarramento.

Para a parametrizacao do cartao PLC1, os seguintes parametros sao relevantes para acomunicacao CANopen:

• P770: deve-se habilitar o protocolo CANopen para ambos os cartoes PLC1. Para tanto,e necessario programar P770 igual a 1.

• P771: o Node-ID e programado no P771, e deve ser diferente para cada escravo da rede.Neste exemplo, um cartao PLC1 sera programado para o endereco #1 e outro para oendereco #2.

51

Page 52: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

• P772: considerando que o comprimento do cabo de rede seja menor que 40 metros, serautilizada a taxa de transmissao maxima, de 1 Mbit/s. Isto e feito programando P772 em0 (zero).

• P773: o P773 pode ser programado de acordo com o desejado para a aplicacao. Nesteexemplo, o reset do erro bus off deve ser feito de forma manual (P773 igual a 0 (zero)).

• P774: caso ocorra um erro de comunicacao com o cartao PLC1 na rede CANopen, omesmo deve provocar um erro no inversor. Esta acao e feita programando P774 igual a1.

Uma vez feito a parametrizacao, e importante desligar e ligar novamente o inversor paraque o cartao PLC1 seja inicializado e as novas configuracoes sejam aceitas pelo dispositivo. Nasequencia, pode-se observar, a tıtulo de diagnostico, os seguintes parametros:

• P775: indica o estado da rede CAN. Se o protocolo CANopen estiver programado, obaudrate estiver correto e os equipamentos estiverem conectados na rede, o valor desteparametro deve estar em 2 (sem erro).

• P780: o valor deste parametro devera estar em 2, indicando que o protocolo CANopenfoi inicializado sem problemas.

• P781: enquanto a PLC1 nao comecar a ser operada pelo mestre da rede, este parametrodevera apresentar o valor 127, indicando que o dispositivo esta no estado pre-operacional.

Depois de concluıda a instalacao e parametrizacao, o cartao PLC1 esta pronto para seroperado via rede CANopen.

7.1 Exemplo 1 - Controlando o estado de um escrevo

No item 5.6.1 e apresentado um diagrama de estados que descreve o comportamentode um escravo da rede. Estes estados sao controlados pelo mestre, atraves dos servicos degerenciamento.

Apos a inicializacao, todos os escravos encontram-se no estado pre-operacional. O mestrepode entao solicitar o reset ou colocar os escravos em um dos estados existentes, de acordo como telegrama enviado. Exemplos destes telegramas sao apresentados a seguir. Lembrar que ostelegramas nao possuem confirmacao por parte do escravo, ou seja, somente o mestre envia asmensagens para a rede.

Mestre envia comando Start Node para o escravo no endereco 1

Mestre → 000h 01h 01h → Rede

Mestre envia comando Stop Node para o escravo no endereco 1

Mestre → 000h 02h 01h → Rede

Mestre envia comando Enter Pre-operational para o escravo no en-dereco 2

Mestre → 000h 80h 02h → Rede

52

Page 53: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

Mestre envia comando Reset Communication para o escravo no en-dereco 2

Mestre → 000h 82h 02h → Rede

Mestre envia comando Reset Node para todos os escravos da rede

Mestre → 000h 81h 00h → Rede

Observar que o COB-ID do telegrama e sempre 0 (zero). Todos os escravos receberao otelegrama, porem somente executara o comando (que e indicado no byte 1) o escravo com oNode-ID de destino (indicado no byte 2). Caso o byte 2 tenha valor 0 (zero), significa que euma mensagem to tipo broadcast, e todos os escravos devem executar o comando.

7.2 Exemplo 2 - Acessando objetos utilizando SDOs

Neste exemplo serao mostrados telegramas do tipo SDO onde o mestre le e escreveparametros e outros objetos dos escravos da rede. Lembrando, um telegrama SDO possuia seguinte estrutura:

COB-ID Comando Indice Sub-ındice Dados do objeto11 bits byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7

Leitura do objeto 1018h, sub-ındice 2 (Product code), do endereco 1→ 601h 40h 18h 10h 02h 00h 00h 00h 00h →

Mestre PLC1

← 581h 43h 18h 10h 02h 11h 02h 00h 00h ←Resposta com conteudo do objeto, com valor igual a 0000.0211h

Escrita de P762 = 10 (objeto 22FAh), no endereco 2→ 602h 2Bh FAh 22h 00h 0Ah 00h 00h 00h →

Mestre PLC1

← 582h 60h FAh 22h 00h 00h 00h 00h 00h ←Resposta confirmando escrita no parametro

Leitura de P755 (objeto 22F3h), do endereco 2→ 602h 40h F3h 22h 00h 00h 00h 00h 00h →

Mestre PLC1

← 582h 4Bh F3h 22h 00h E8h 03h 00h 00h ←Resposta com conteudo do P755 igual a 100, 0o

7.3 Exemplo 3 - Habilitando o controle de erros - Guarding

O servico de controle de erros permite aos integrantes da rede, detectar erros ocorridosem dispositivos remotos. O cartao PLC1 usa o servico de guarda do no para possibilitar estadeteccao. Para poder configurar este servico, e necessario primeiro definir os seguintes pontos:

53

Page 54: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

• Caso ocorra uma falha na rede, qual deve ser a acao tomada pelo carao PLC1 com relacaoao inversor CFW-09?

Para este exemplo, caso ocorra um erro de comunicacao, a PLC1 devera causar um errofatal no inversor, desabilitando o motor. Para isto, sera programado o parametro P774igual a 1, conforme descrito no item 3.5. Isto pode ser programado diretamente pelaIHM do equipamento, ou atraves da rede CANopen, utilizando um SDO para escrever noobjeto 2306h (que equivale ao P774).

• Caso ocorra uma falha na rede, qual o tempo maximo que a PLC1 pode levar para detectareste erro?

Para esta aplicacao, sera considerado que o tempo limite para deteccao de erros de co-municacao seja 1 segundo. Baseado neste tempo, pode-se definir valores para os objetos100Ch - Guard time, e 100Dh - Life time factor, de maneira que o dispositivo possa atuarno tempo programando. Neste caso, pode-se programar o objeto 100Ch igual a 500 (signi-ficando que a PLC1 deve receber uma mensagem do mestre a cada 500 ms, caso contrarioele considerara como uma falha neste servico), e o objeto 100Dh igual a 2 (significandoque, caso ocorram duas falhas na sequencia, sera considerado erro na comunicacao). Estesvalores precisam necessariamente ser escritos utilizando o SDO da PLC1.

Estas configuracoes serao feitas para o escravo no endereco 1, porem o configuracao doescravo no endereco 2 pode ser feita de maneira similar.

Escrita de P774 = 1 (Erro de comunicacao causa falha no CFW-09)→ 601h 2Bh 06h 23h 00h 01h 00h 00h 00h →

Mestre PLC1

← 581h 60h 06h 23h 00h 00h 00h 00h 00h ←Resposta confirmando escrita no parametro

Escrita do objeto 100Ch = 500 (Guard time = 500 ms)→ 601h 2Bh 0Ch 10h 00h F4h 01h 00h 00h →

Mestre PLC1

← 581h 60h 0Ch 10h 00h 00h 00h 00h 00h ←Resposta confirmando escrita no objeto

Escrita do objeto 100Dh = 2 (Life time factor = 2 vezes)→ 601h 2Fh 0Dh 10h 00h 02h 00h 00h 00h →

Mestre PLC1

← 581h 60h 0Dh 10h 00h 00h 00h 00h 00h ←Resposta confirmando escrita no objeto

Uma vez configurados estes objetos, o cartao PLC1 esta pronto para iniciar o servico deguarda do no. O mesmo servico deve ser programado no mestre5, para que os dispositivospossam operar em conjunto. Uma vez iniciada a comunicacao pelo mestre, a PLC1 comecaraa contar os tempos estipulados para o controle de erros.

5Usualmente o mestre e programado com valores ligeiramente menores para o tempo de envio, para que naohaja problemas de timeout por pequenas diferencas de tempo ou atraso no envio do telegramas.

54

Page 55: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

Requisicao do mestre para o servico de guarda (frame remoto)→ 701h →

Mestre PLC1

← 701h 7Fh ←Resposta do escravo informando que seu estado e pre-operacional(127). Toggle bit desabilitado (bit 8).

Requisicao do mestre para o servico de guarda (frame remoto)→ 701h →

Mestre PLC1

← 701h FFh ←Resposta do escravo informando que seu estado e pre-operacional(127). Toggle bit habilitado (bit 8).

Estes telegramas serao enviados ciclicamente. Uma vez habilitado este servico, e possıvelverificar seu estado atraves do parametro P780 do cartao PLC1, que devera conter o valor 3(guarda do no habilitada).

Se a comunicacao for interrompida, ele causara falha no CFW-09, e ira para o estadopre-operacional (caso nao encontre-se neste estado). O parametro P780 assumira o valor 4,indicando que a troca de mensagens de guarda foi interrompida por um tempo maior do que oprogramado no objetos 100Ch e 100Dh.

7.4 Exemplo 4 - Configurando um PDO para transmissao

Os PDOs de transmissao sao utilizados para enviar dados de um determinado equipamentopara a rede. Para o cartao PLC1, as informacoes que podem ser enviadas sao as contidas nosparametros do usuario de P850 ate P899. Desta forma, e necessario elaborar o programa dousuario para disponibilizar nestes parametros os dados desejados para serem transmitidos viarede CANopen.

As informacoes que se deseja transmitir devem ser mapeadas em um dos quatro PDOs detransmissao disponıveis para o cartao PLC1. Ja existe um mapeamento padrao, porem outrasinformacoes podem ser acrescentadas ou retiradas, dependendo da aplicacao. Primeiro deve-seficar atento para as seguintes questoes:

• Quais sao as informacoes que a PLC1 deve transmitir para a rede?

E necessario definir quais sao as informacoes que serao enviadas pelo PDO. Para esteexemplo, serao transmitidas as informacoes de posicao real (rotacoes) e posicao real(fracao de volta), do escravo no endereco 1.

• Em quais parametros ou marcadores estas informacoes serao disponibilizadas?

A informacao de posicao real estao disponiveis nos parametros P757 e P758 do cartao.Para disponibilizar estas informacoes para a rede CANopen, basta transferir o conteudosdestes parametros para os parametros do usuario, que sao mapeaveis nos PDOs, conformetabela 19. No caso, o conteudo destes parametros sera transferido para os parametrosdo usuario P850 e P851, que ja estao mapeados no primeiro PDO de transmissao. E

55

Page 56: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

necessario fazer a programacao utilizando o software WLP para transferir o conteudo dosparametros.

• Qual sera o COB-ID para a mensagem?

Se o cartao PLC1 vai transmitir este PDO, e porque um ou mais equipamentos vaoreceber esta informacao. Desta forma, e importante saber o COB-ID da mensagem trans-mitida, para poder programar os PDOs de recepcao que vao consumir a mensagem. Nesteexemplo, sera utilizado o primeiro PDO de transmissao, para a PLC1 no endereco 1. OCOB-ID para o PDO nao sera alterado, sendo mantido o seu valor padrao, que e igual a181h (objeto 1800h, sub-ındice 1).

• Como deve ser a transmissao deste PDO, e qual o perıodo para essa transmissao?

Existem diferentes formas de fazer com que a PLC1 transmita um PDO: vincular estePDO a um telegrama SYNC, programar o temporizador do PDO para que ele seja trans-mitido periodicamente, ou entao enviar telegramas remotos solicitando sua transmissao,conforme descrito na tabela 21. Neste caso, usaremos o temporizador para transmissaoautomatica do PDO a cada 10 ms. O tipo de transmissao e programado no objeto PDO -COMM PARAMETER do respectivo PDO, no sub-ındice 5.

De acordo com o descrito, inicialmente deve ser feito a programacao do WLP para transfe-rir o conteudo dos parametros P757 e P758 para os parametros P850 e P851. Consulte o manualde programacao do cartao PLC1 para obter informacoes de como fazer esta programacao.

O primeiro PDO de transmissao do cartao ja possui os parametros P850 e P851 mapeados(conforme item 5.3.3), mas existem ainda outros objetos mapeados que nao sao desejados, edesta forma e necessario alterar o numero de objetos mapeados de quatro para apenas doisobjetos.

Objeto 1A00h, sub-ındice 0 = 2, alterando o numero de objetos ma-peados de quatro para dois→ 601h 2Fh 00h 1Ah 00h 02h 00h 00h 00h →

Mestre PLC1

← 581h 60h 00h 1Ah 00h 00h 00h 00h 00h ←Resposta confirmando escrita no objeto

Feito isto, e necessario configurar o temporizador do PDO para que ele seja transmitidoa cada 10 ms. Isto e configurado no objeto 1800h, sub-ındice 5. Os sub-ındices 2 e 3 seraomantidos com seus valores padrao.

Objeto 1800h, sub-ındice 5 = 10, habilitando o temporizador paratransmitir o PDO a cada 10 ms→ 601h 2Bh 00h 18h 05h 0Ah 00h 00h 00h →

Mestre PLC1

← 581h 60h 00h 18h 05h 00h 00h 00h 00h ←Resposta confirmando escrita no objeto

Feito isto, a PLC1 esta pronta para iniciar a transmissao do seu primeiro PDO, contendoas informacoes de posicao do motor. Porem somente sera iniciada a transmissao apos o mestreenviar o comando para o escravo entrar no estado operacional, pois este e o unico estado emque o escravo pode transmitir ou receber PDOs.

56

Page 57: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

Mestre envia comando Start Node para o escravo no endereco 1

Mestre → 000h 01h 01h → PLC1

PLC1 envia PDO contendo P804 = 0 e P805 = 0 (posicao do eixodo motor)

PLC1 → 181h 00h 00h 00h 00h → Rede

PLC1 envia PDO contendo P804 = 0 e P805 = 13 (nova posicaodo eixo do motor)

PLC1 → 181h 00h 00h 0Dh 00h → Rede

Desta forma, estas informacoes serao enviadas para a rede a cada 10 ms. Caso um oumais dispositivos da rede queiram receber estes dados, basta programar um PDO de recepcaocom o COB-ID desta mensagem, e fazer o mapeamento de acordo com o desejado.

7.5 Exemplo 5 - Configurando um PDO para recepcao

Os PDOs de recepcao sao utilizados principalmente para recepcao de dados de controle ereferencias para a operacao do dispositivo. De forma semelhante aos PDOs de transmissao, epossıvel mapear os parametros do usuario de P800 ate P849, em um PDO de recepcao, que seraresponsavel por receber os dados da rede e armazenar estes dados nos parametros mapeados.A configuracao de um PDO de recepcao tambem depende da aplicacao, e para isto deve-se teras seguintes informacoes:

• Quais sao as informacoes que a PLC1 deve receber da rede?

E necessario definir quais sao a informacoes que serao recebidas pelo PDO. Para esteexemplo, sera utilizado o cartao PLC1 no endereco 2 para receber um unico parametrodo usuario, que sera utilizado como referencia de velocidade para o inversor.

• Em quais parametros estas informacoes serao disponibilizadas?

Neste caso, vamos escolher o parametro P800 para receber esta informacao de referenciade velocidade. Deve-se observar que o P800 e um parametro programavel, e para que eleseja utilizado como referencia de velocidade e necessario fazer a programacao do cartaoPLC1 utilizando o software WLP. Consulte o manual de programacao do cartao PLC1para obter informacoes de como fazer esta programacao.

• Qual sera o COB-ID para a mensagem?

Sera utilizado o primeiro PDO de recepcao do cartao PLC1, e para este RPDO tambemsera mantido seu COB-ID padrao, igual a 202h (objeto 1400h, sub-ındice 1). Este PDOsomente ira receber da rede mensagens cujo COB-ID seja igual ao seu, e para que issoaconteca e necessario que um outro elemento da rede envie mensagens com este COB-ID.

• Como deve ser a recepcao deste PDO?

Conforme a tabela 21, um PDO de recepcao pode estar vinculado ao telegrama SYNCou nao. Neste exemplo vamos manter o tipo de transmissao (objeto 1400h, sub-ındice2) para o RPDO com seu valor padrao, de 254, indicando que nao possui relacao comtelegramas SYNC. Desta forma, sempre que um telegrama for recebido, os valores dosobjetos mapeados serao automaticamente atualizados.

57

Page 58: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

Baseado nestas informacoes, o primeiro passo e fazer o mapeamento dos dados escolhidos.Como sera utilizado o primeiro PDO de recepcao, o seu mapeamento ja possui o P800 configu-rado na primeira posicao (objeto 1600, sub-ındice 1). Existem outros objetos mapeados nestePDO, que serao excluıdos pois nao deseja-se utiliza-los.

Objeto 1600h, sub-ındice 0 = 1, para indicar que existe apenas 1objeto mapeado neste PDO→ 602h 2Fh 00h 16h 00h 01h 00h 00h 00h →

Mestre PLC1

← 582h 60h 00h 16h 00h 00h 00h 00h 00h ←Resposta confirmando escrita no objeto

Feito o mapeamento, ainda e necessario comandar o cartao PLC1 para o estado operaci-onal. Uma vez neste estado, todo o telegrama cujo COB-ID for igual a 202h sera recebido pelodispositivo e os valores dos parametros mapeados serao atualizados.

Mestre envia comando Start Node para o escravo no endereco 2

Mestre → 000h 01h 02h → PLC1

PLC1 recebe da rede PDO contendo P800 = 1000

Rede → 202h E8h 03h → PLC1

Os valores recebidos serao armazenados no parametro mapeado, e serao interpretados deacordo com o programa feito para o cartao PLC1 utilizando o WLP.

7.6 Exemplo 6 - Utilizando o objeto SYNC para envio de PDOs

Os telegramas SYNC podem ser utilizados como base de tempo para transmissao ourecepcao de dados da rede. Para utiliza-lo juntamente com o cartao PLC1, e necessario quealgum dispositivo da rede seja o produtor deste objeto. A PLC1 possui uma entrada do seudicionario (objeto 1005h) onde e possıvel configurar o COB-ID utilizado pelo produtor SYNC.Primeiramente serao definidos os seguintes pontos:

• Qual o perıodo que deve ser utilizado pelo produtor SYNC para a transmissao do tele-grama?

Neste exemplo, o perıodo para a transmissao de um telegrama SYNC sera de 100 ms.Esta programacao e feita apenas no produtor SYNC, que neste caso e o mestre da rede.O COB-ID para este telegrama sera 080h, que e o valor padrao.

• Existe algum PDO de transmissao ou recepcao que deva estar vinculado a este objeto?Para PDOs de transmissao, estes devem estar programados para serem transmitidos acada SYNC, ou em valores multiplos de SYNC?

Cada dispositivo tera um PDO de transmissao vinculado ao telegrama SYNC. O cartaono endereco 1 deve enviar seu PDO a cada telegrama SYNC detectado, enquanto queo cartao no endereco 2 deve enviar seu telegrama a cada 2 telegramas SYNC. Os dadosmapeados nos PDOs serao mantidos nos seus valores padrao para a PLC1.

58

Page 59: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

Deve-se entao fazer a configuracao dos PDOs utilizando o SDO de cada escravo:

Escravo 1, objeto 1800h, sub-ındice 2 = 1, programando o TPDOpara ser transmitido a cada telegrama SYNC→ 601h 2Fh 00h 18h 02h 01h 00h 00h 00h →

Mestre PLC1

← 581h 60h 00h 18h 02h 00h 00h 00h 00h ←Resposta confirmando escrita no objeto

Escravo 2, objeto 1800h, sub-ındice 2 = 2, programando o TPDOpara ser transmitido somente a cada 2 telegramas SYNC→ 602h 2Fh 00h 18h 02h 02h 00h 00h 00h →

Mestre PLC1

← 582h 60h 00h 18h 02h 00h 00h 00h 00h ←Resposta confirmando escrita no objeto

Uma vez configurado, e necessario habilitar no mestre a producao de telegramas SYNC,de acordo com o tempo que foi estipulado para a producao (neste caso, a cada 100 ms). Poremos escravos nao transmitirao seus PDOs ate serem colocados no modo operacional, comandoeste tambem enviado pelo mestre.

Mestre inicia a transmissao dos telegramas SYNC, a cada 100 ms

Mestre → 080h → PLC1

Mestre envia comando Start Node para todos os escravos

Mestre → 000h 01h 00h → PLC1

Ao colocar os escravos no modo operacional, o escravo no endereco 1 enviara um PDO acada telegrama SYNC, enquanto que o escravo numero 2 enviara um PDO a cada 2 telegra-mas SYNC recebidos. Estes telegramas serao repetidos indefinidamente, enquanto o sistemaestiver em operacao. Os dados transmitidos pelos PDOs poderao ser consumidos por outrosdispositivos da rede, de acordo com a logica de operacao desejada.

59

Page 60: Cartão PLC1 - CANopen Slave

7 Exemplos de aplicacao

Mestre envia novo telegrama SYNC

Mestre → 080h → Rede

PLC1 no endereco 1 envia PDO com o conteudo de P850, P851,P852 e P853 (iguais a zero)

PLC1 → 181h 00h 00h 00h 00h 00h 00h 00h 00h → Rede

Mestre envia novo telegrama SYNC

Mestre → 080h → Rede

PLC1 no endereco 1 envia PDO com o conteudo de P850, P851,P852 e P853 (iguais a zero)

PLC1 → 181h 00h 00h 00h 00h 00h 00h 00h 00h → Rede

PLC1 no endereco 2 envia PDO contendo P850 = 100, P851 = 200,P852 = 300 e P853 = 400 (valores para demonstracao apenas)

PLC1 → 182h 64h 00h C8h 00h 2Ch 01h 90h 01h → Rede

Da mesma forma como o telegrama SYNC e utilizado por PDOs de transmissao, estestambem poderiam ser utilizados por PDOs de recepcao para sincronizar o recebimento dedados pelos dispositivos da rede. Basta programar um RPDO para o tipo sıncrono, que osdados recebidos por este PDO somente serao atualizados no dicionario de objetos quando oproximo telegrama SYNC for detectado.

7.7 Exemplo 7 - Deteccao de erros utilizando EMCY

Os telegramas EMCY podem ser utilizados para sinalizar a ocorrencia de um erro em umdispositivo da rede. A PLC1 possui um produtor EMCY que, sempre que ocorrer uma falhano dispositivo, ele envia uma mensagem para a rede contendo o tipo de erro ocorrido. Casoo mestre da rede possua um consumidor EMCY que esteja monitorando este evento, poderadetectar o erro e fazer a sinalizacao ou tomar a acao de acordo com o programado para aaplicacao.

Os cartoes PLC1 possuem um unico objeto para a leitura do COB-ID deste objeto (objeto1014h), que por padrao assume o valor 080h + Node-ID do escravo. A seguir e mostradoexemplos de telegramas enviados por este objeto para a sinalizacao de erros. Os codigos deerro utilizados sao descritos na tabela 16.

Escravo no endereco 1 envia telegrama EMCY indicando errode lag

PLC1 → 081h 11h 86h 01h 32h 00h 00h 00h 00h → Rede

Escravo no endereco 2 envia telegrama EMCY, indicandoerro na guarda do no

PLC1 → 082h 30h 81h 11h 41h 00h 00h 00h 00h → Rede

60