Exemplo: Ler parâmetros

Os parâmetros podem ser lidos com o serviço SDO READ. Para isso, deve-se conhecer o índice e o subíndice do parâmetro a ser lido.

O serviço SDO será explicado mais detalhadamente em um exemplo. No exemplo, o serviço é executado em um mestre EtherCAT® da Beckhoff Automation GmbH na ferramenta de engenharia TwinCAT 3.

Proceda da seguinte forma:

  • Você integrou as bibliotecas e diagramas de blocos necessários do serviço para o mestre EtherCAT® no projeto TwinCAT (ver Serviços SDO READ e WRITE).
  1. Abrir o software de engenharia MOVISUITE® e procurar o parâmetro.
  2. Mover o cursor do mouse sobre o campo de edição ou campo de indicação do parâmetro e observar o índice do parâmetro na tooltip. O subíndice é separado do número do índice por um ponto.
  3. Criar uma instância do diagrama de blocos FB_EcCoeSdoRead.
  4. Atribuição das entradas do módulo funcional:

Entrada

Valor

sNetID

ID da rede do mestre EtherCAT®

nSlaveAddr

Endereço EtherCAT® da unidade, da qual os dados devem ser lidos.

nIndex

Índice do parâmetro que deve ser lido.

Se você usar um módulo de eixo duplo, o índice do segundo eixo é atribuído com um offset de 0x1000 (4096 dec).

nSubIndex

Subíndice do parâmetro que deve ser lido.

pDstBuf

Indicador no campo de dados, no qual os parâmetros lidos deverão ser armazenados.

cbBufLen

Tamanho máximo da memória em bytes ocupado pelo parâmetro a ser lido.

Para os conversores do sistema de automação modular MOVI‑C®, o tamanho máximo da memória dos parâmetros é sempre de 4 bytes.

bExecute

Flanco positivo que inicia o processo de leitura.

tTimeout

Tempo limite do diagrama de blocos

  1. Para iniciar o processo, a entrada bExecute deve detectar um "Rising Edge" (flanco positivo).
    • O valor atual do parâmetro é exibido na variável correspondente. A variável ainda precisa ser dimensionada adequadamente para que o valor real não dimensionado seja exibido nas unidades do usuário corretas.
    • Neste exemplo, o valor da tensão do circuito intermediário foi lido. Você deve escalar o valor com 1000.
    • As saídas bBusy e bError sinalizam o estado do serviço SDO. Se ocorrer um erro ao executar o serviço SDO e você tiver definido a saída bError, a saída nErrId mostrará o número do erro.