Escolar Documentos
Profissional Documentos
Cultura Documentos
Diagnósticos de IPCs
Esta nota de aplicação fornece instruções básicas sobre como acessar os diagnósticos dos PCs industriais e embarcados,
via serviço MDP.
2. Considerações Gerais.
Esse exemplo pode ser aplicado em qualquer plataforma de embedded PC ou PC Industrial da Beckhoff.
Dependendo da versão/série de hardware, os recursos de diagnósticos podem ser maiores ou menores.
Os diagnósticos de PCs suportam acessos à sistemas locais (no programa de controle do dispositivo) e
também acesso remoto via outro PC (ou PLC).
As funções de diagnósticos dos IPCs da Beckhoff podem ser integradas na aplicação do usuário via
diferentes tipos de comunicação e interfaces de programação (particularmente o TwinCAT).
Basicamente, o serviço MDP fornece todas as informações pertinentes ao hardware em questão, tanto
com relação à questões físicas (dados de memória, HDD, NIC, etc), quanto de software (versões de
sistema operacional, TwinCAT, BIOS, entre outros).
Cada módulo possui tabelas que subdividem as informações de hardware e software em subgrupos
(subindex). Para cada tabela, existe no mínimo uma tabela “cabeçalho” (contendo informações gerais) e
no mínimo mais uma contendo as demais informações do módulo.
Mais informações sobre o modelo de informação podem ser encontrados através do link:
https://infosys.beckhoff.com/content/1033/devicemanager/99079192065129227.html?id=8577517488240625411
NOTA: Estes diagnósticos via serviço MDP apresentados neste documento, se aplicam somente à hardwares Beckhoff
fabricados a partir 2015 em diante!
De acordo com o que foi proposto neste documento, vamos estabelecer comunicação entre o hardware e
o PLC através da biblioteca TC2_MDP.lib:
https://infosys.beckhoff.com/content/1033/tcplclib_tc2_mdp/index.html?id=875078454386102504
Diagnósticos de PCs
5.1. Existem algumas estruturas em alguns blocos que precisam ser entendidas e/ou previamente
configuradas:
5.1.1. E_MDP_AddrArea Enumerador que define as três areas de serviços de diagnósticos que
podem ser acessadas:
(https://infosys.beckhoff.com/content/1033/tcplclib_tc2_mdp/178748811.html)
(https://infosys.beckhoff.com/content/1033/tcplclib_tc2_mdp/178750347.html)
Diagnósticos de PCs
5.1.3. Estrutura de dados ST_MDP_Addr Define quais tabelas e parâmentros serão lidos em cada
propriedade do enumerador E_MDP_ModuleType
(https://infosys.beckhoff.com/content/1033/tcplclib_tc2_mdp/9007199433492875.html)
nArea
nTableId
nSubIdx
Diagnósticos de PCs
5.2.2.1. nArea
nArea poderá atribuir uma destas três areas, conforme exemplo abaixo:
nArea:=INT_TO_BYTE(eMDP_Area_ConfigArea)
5.2.2.2. nTableId
Uma vez definido na entrada dos blocos qual será o diagnóstico lido através do enumerador
E_MDP_ModuleType, verifica-se quais são as tabelas e subindex disponíveis para a propriedade
em questão. Neste exemplo abaixo, escolhemos o parâmetro TwinCAT, onde podemos identificar
a tablela índice “0” e tabela índice “1”:
(https://infosys.beckhoff.com/content/1033/devicemanager/54043195791476491.html?id=7727541857821058977)
Diagnósticos de PCs
5.2.2.3. nSubIdx
Os Subindex são parâmetros das tabelas, que podem ser acessados via PLC:
Com relação aos subindex, é muito importante prestar bastante atenção no tipo de variável que
o parâmetro possui, pois você precisará atribuir um tipo similar no PLC.
5.3.2. FB_MDP_ScanModules Com este bloco, é possível identificar quantos módulos existem
para cada propriedade e qual é o ID individual de cada módulo ( ex: quantas portas Ethernet existem
no PC):
5.3.3. FB_MDP_SplitErrorID: Caso você queira mostrar os erros em uma IHM, por exemplo, é
sugerido utilizar esse bloco. A ideia é este bloco receber uma variável de ErrorID dos demais
blocos, para que ele possa separar o código em um grupo e tipo de erro:
Diagnósticos de PCs
5.3.4. FB_MDP_NIC_Read Com este bloco, é possível ler todas as informações pertinentes às
conexões de rede (portas Ethernet):
5.3.5. FB_MDP_NIC_Write_IP Com este bloco, é possível alterar configurações das portas de rede
via PLC:
5.3.6. FB_MDP_CPU_Read Este bloco serve para fazer uma leitura do quanto o TwinCAT está
consumindo do hardware de forma mais fácil e é aplicável à todos os PCs da Beckhoff. É
sugerido que a leitura seja feita com ciclos de tempos >=500ms, para que não consuma de forma
desnecessária processamento de CPU. Esse tipo de informação não tem a necessidade de ter
uma leitura com os tempos de ciclo de PLC:
Diagnósticos de PCs
5.4. Os blocos apresentados no item anterior são apenas alguns exemplos dos
mais utilizados. Dependendo na necessidade da aplicação, pode-se incluir no
projeto os demais blocos!
6.2.2. Específicos: São blocos que acessam direto a informação desejada, mas não servem
para qualquer modelo de CPU
NOTA: É importante mencionar que a biblioteca TC2_MDP.lib é aberta e possibilita inúmeras formas de implementação!
Cabe ao desenvolvedor analisar e verificar quais serão as informações que desejará coletar o diagnósticar e como desejará
implementá-las da melhor forma possível no programa de PLC.
Vale lembrar que, para facilicar o diagnóstico, é altamente recomendado implementar a tratativa de erros dos blocos de
função implementados e utilizar também como auxílio o bloco FB_MDP_SplitErrorID.
Diagnósticos de PCs
7. Versão.
Versão 1.0 – Autor: Eng. Marcos José de Souza Rodrigues
8. Suporte Técnico.
Para eventuais dúvidas e problemas favor entrar em contato:
E-mail: support@beckhoff.com.br