Exemplo: Gravar parâmetros

Os parâmetros podem ser escritos com o serviço SDO WRITE. Isso requer o índice e o subíndice do parâmetro que deve ser gravado.

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_EcCoeSdoWrite.
  4. Atribuição das entradas do módulo funcional:

Entrada

Valor

sNetID

ID da rede do mestre EtherCAT®

nSlaveAddr

Endereço EtherCAT® da unidade em que os dados devem ser gravados.

nIndex

Índice do parâmetro que deve ser gravado.

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 gravado.

pDstBuf

Indicador no campo de dados contendo os valores a serem gravados.

cbBufLen

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

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 gravação.

tTimeout

Tempo limite do diagrama de blocos

  1. Escalar o valor a ser gravado de acordo com o parâmetro.
  2. Para iniciar o processo, a entrada bExecute deve detectar um "Rising Edge" (flanco positivo).
    • Neste exemplo, o limite de tensão foi escrito com um novo valor. O valor foi escalado para 1000 antes de executar o serviço.
    • As saídas bBusy e bError sinalizam o estado do serviço. Se ocorrer um erro ao executar o serviço e você tiver definido a saída bError, a saída nErrId mostrará o número do erro.