DOCA0272PTBR-00

Dados acíclicos

Para os blocos de funções que utilizam comunicação acíclica com o TeSys™ island, é necessária uma referência a um módulo de hardware contendo os dados acíclicos do bloco de funções. Geralmente, essa referência é fornecida na interface do bloco de funções como uma entrada do tipo “HW_IO” chamada “i_hwSubmHWID”. Quando um dispositivo é criado no Siemens TIA Portal (por exemplo, pela importação de um arquivo AML), as constantes do sistema com os valores da ID de hardware são criadas automaticamente para todos os dispositivos, módulos e submódulos. Elas podem ser utilizadas diretamente para parametrizar o acesso aos dados acíclicos de um avatar ou dispositivo. Os nomes dessas constantes geralmente são criados utilizando o seguinte padrão: <nome do dispositivo>~<nome do módulo>~<nome do submódulo> (por exemplo, “mytesysisland~AvPump02~Acyclic”).

Para o acesso aos dados de Gerenciamento de ativos dos dispositivos do TeSys™ island, elas também são representadas como módulos no TeSys™ island. Os módulos do dispositivo são colocados nos slots a partir do slot número 101 para o PROFINET IO e o PROFIBUS DP.

NOTA:
  • Para o PROFIBUS DP, não existem submódulos dentro de um módulo. Portanto, todos os dados cíclicos e acíclicos pertencem ao próprio módulo, em vez de aos submódulos individuais. Isso significa que, para os blocos de funções do PROFIBUS DP que envolvem comunicação tanto cíclica quanto acíclica, a ID do hardware pode ser derivada diretamente do endereço inicial de entrada, e nenhuma ID de hardware adicional precisa ser parametrizada. No entanto, para os blocos de funções que utilizam apenas comunicação acíclica (principalmente os blocos de funções de gerenciamento de ativos de dispositivo), a ID de hardware do módulo deve ser fornecida para a interface do bloco de funções (variável de interface “i_hwModuleHWID”).

  • Os blocos de funções não podem detectar se há uma correspondência entre o módulo ao qual a ID de hardware fornecida na interface do bloco de funções faz referência e o tipo de avatar ou dispositivo para o qual o bloco de funções foi feito. Portanto, é sua responsabilidade garantir que as IDs de hardware corretas sejam utilizadas com os blocos de funções apropriados. Caso isso não seja feito, poderá ser observado um comportamento inesperado do TeSys™ island.

A leitura ou gravação dos dados acíclicos deve ser disparada utilizando uma margem em elevação na entrada de bloco de funções “i_xExecute”. Mas a leitura ou gravação acíclica só é iniciada se o bloco de funções estiver ativado (“i_xEnable”), se não houver ocorrido nenhum erro detectado e se a variável de entrada “i_xAcyclicBusy” for “false”. A variável “i_xAcyclicBusy” pode ser utilizada para intertravar várias instâncias de blocos de funções utilizando comunicação acíclica (seja da biblioteca do TeSys™ island para o TIA Portal ou de qualquer outra parte do programa PLC utilizando as funções RDREC ou WRREC) para evitar erros detectados devido aos recursos limitados da comunicação acíclica dos PLCs da Siemens. Cada bloco de funções que envolva comunicação acíclica também fornece uma saída “q_xAcyclicBusy”, que é definida como “true” enquanto uma solicitação de leitura ou gravação acíclica está sendo executada pelo bloco de funções e pode ser utilizada para intertravamento com outros blocos de funções.

NOTA: Você é responsável por garantir que haja recursos suficientes disponíveis para a comunicação acíclica ao iniciar uma solicitação acíclica com um dos blocos de funções da biblioteca. Para obter detalhes sobre as limitações dos diferentes tipos de PLC, consulte a documentação de terceiros da Siemens.

Se ocorrer um erro detectado durante a comunicação acíclica, o bloco de funções indicará essa ocorrência com uma margem em elevação na saída “q_xError”, combinada com um código apropriado de erro detectado em “q_dwErrorID” do bloco de funções ConstTeSysIsland. Todas as saídas baseadas em resultados de comunicação são redefinidas para seus valores padrão (a mesma reação para todos os outros erros detectados — consulte também Dados cíclicos; para obter detalhes sobre os valores de ConstTeSysIsland, consulte Bloco de dados ConstTeSysIsland). Além da ID do erro detectado, o bloco de funções também fornece, em alguns casos, um código de status para a comunicação acíclica na variável “q_dwAcyclicStatus”. A tabela a seguir fornece uma visão geral dos códigos de status acíclico em uso.

Códigos de status acíclico

Código de status acíclico

Descrição

Cdw_StsNoMsg

Não há detalhes de status disponíveis (consulte também Bloco de dados ConstTeSysIsland)

Todos os outros

Código de status/erro específico do TIA Portal da função de sistema utilizada.

  • RDREC/WRREC, se “q_dwErrorID” for um dos seguintes valores de ConstTeSysIsland:

    • Cdw_ErrReadAcycData1

    • Cdw_ErrReadAcycData2

    • Cdw_ErrWriteAcycData

  • LOG2GEO (se “q_dwErrorID” for igual a Cdw_ErrInvalidHwid de ConstTeSysIsland)

Para obter mais informações sobre os códigos de erro específicos do TIA, consulte o sistema de informações do Siemens TIA Portal e Documentação de terceiros.

Se o bloco de funções finalizar a comunicação acíclica com êxito, “q_xAcyclicBusy” retornará para false, “q_dwErrorID” mostrará o código de status apropriado (consulte Bloco de dados ConstTeSysIsland) e os dados lidos aciclicamente da ilha serão copiados para as variáveis de saída. Os dados permanecem nas saídas até que sejam sobrescritos quando uma nova solicitação acíclica tiver sido concluída, o bloco de funções tiver sido desativado ou um erro tiver sido detectado e os dados de saída tiverem sido sobrescritos com valores padrão.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Isto foi útil?