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).
- Abrir o software de engenharia MOVISUITE® e procurar o parâmetro.
- 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.
- Criar uma instância do diagrama de blocos
FB_EcCoeSdoRead. - 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 |
- 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.

