Executar o Diagnóstico de um Módulo da Rede INTERBUS

Bloco de Controle Padrão
Função Executar o Diagnóstico de um Módulo da Rede INTERBUS
Código 061
Caminho Programa/Editor Ladder/Elementos/Especiais/Bloco de controle Padrão
Grupo Especiais
Ícone ico
Tabela de compatibilidade de firmwares
Geração de Firmware GI, GII

A função deste bloco é viabilizar a função de executar o diagnostico de um módulo da rede INTERBUS.

Para inseri-lo no programa, deve-se posicionar o cursor na posição desejada, selecionar no menu à esquerda o grupo “Especiais” e clicar no botão correspondente, ico

Nota

A execução deste comando pode levar vários ciclos de scan para ser concluído. Portanto, verifique a condição da saída do bloco para certificar-se que o processo está terminado e, avalie o valor para parâmetro P4 para identificar possíveis falhas.

Formatar o Sistema de Arquivos

Formatar o sistema de arquivos da Data Flash
Parâmetros Tipos Valores Descrição
P1 K 0..Max (K) Função do bloco SCB de acesso a função de executar o diagnóstico de um módulo da rede INTERBUS. Deve ser uma constante inteira, cujo o valor deve ser 61.
P2 M M[x + 0] Posição do módulo a ser diagnosticado na rede INTERBUS. A posição do módulo estabelece o seguinte comportamento: 0 = Busca o primeiro módulo com erro para retornar para a aplicação Ladder. Se não encontrar nenhum módulo com erro, retorna o valor do parâmetro de diagnóstico associado ao ID MODULE igual a 0 (zero). 1..30 = Especifica um dos 30 possíveis módulos de I/O da rede INTERBUS. Neste caso, posições de 1..30 indicam a solicitação de diagnóstico de um módulo especifico, independente se está com falha ou não.
P3 M M[y + 0] Retorna o ID do módulo que foi identificado pelo INTERBUS como estando associado à posição fornecida no parâmetro de entrada.
M[y + 1] Retorna o ID do módulo que foi configurado pelo usuário e gravado na base de setup da placa ITB600 ou ITB520.
M[y + 2] Retorna à posição do módulo que foi diagnosticado (1..30)
M[y + 3] Retorna o status obtido pelo INTERBUS (No Match (bit 3), módulo não casa com configurado, PF (bit 2), CRC (bit 1), REC (bit 0)) do módulo quefoi diagnosticado.
M[y + 4] Retorna o valor do contador de erros do módulo que foi diagnosticado. Esse contador é iniciado a cada start-up da placa ITB600.
P4 M M[z + 0] Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso. Diferente de 0 - Indica condição de falha. Vide a lista de códigos de retorno.
M[z + 1] Subcódigo de retorno da própria rede INTERBUS. Obs: Este subcódigo de erro somente deve ser analisado quando o código de retorno obtido na “Memória z + 0” for igual a 241. Ou seja, quando o controlador sinalizar código de erro 241, indica existência de uma falha operacional na rede INTERBUS, e para identificar o código da falha da própria rede INTERBUS, deve-se, então, analisar este subcódigo de retorno. A descrição destes subcódigos de erros encontra-se no anexo deste documento.

Códigos de Erros de P4

Códigos de Erros de P4
Código de erro Descrição
0 Função executada com sucesso. Nenhuma falha identificada no processo.
4 Não foi detectado módulo de expansão ITB-600 ou ITB520 conectado ao controlador para habilitar o acesso à rede INTERBUS.
5 Parâmetros inválidos na ativação de um bloco SCB de acesso à rede INTERBUS. Exemplo: Solicitar o diagnóstico de um módulo da rede INTERBUS fora da posição permitida, no caso, na escala de (0..30).
6 A placa ITB600 ou ITB520 recebeu um comando inválido ou não reconhecido.
180 Erro na execução do comando. Subcódigo de retorno da própria rede INTERBUS possui detalhes do erro.
181 A máquina de estados da placa ITB600 ou ITB520 não pode executar o comando requisitado.
182 Já existe um comando sendo executado pela ITB600 ou ITB520.
183 Comando enviado não representa um comando para o INTERBUS.
184 Posição do módulo selecionado não é válida.
238 Módulo de expansão detectado no controlador incompatível. Exemplo: Ou módulo de expansão especificado na configuração de hardware do controlador NÃO é uma ITB-600 ou ITB520, ou o módulo de expansão existente no controlador NÃO é uma ITB-600 ou ITB520.
239 Parâmetros da base de OUTPUT inválidos.**Exemplo**: No bloco SCB de acesso aos I/O da rede INTERBUS, a quantidade de memórias M para serem escritas na rede INTERBUS (que foi especificada na primeira memória do buffer de OUTPUT do parâmetro P3 do bloco SCB) está fora da escala 1..15, ou seja, a quantidade de dados a serem escritos na rede INTERBUS está fora dos limites de 15M * 16bits = 240 bits.
240 Falha de acesso com o módulo de expansão.**Exemplo**: No bloco SCB de acesso aos I/O da rede INTERBUS, houve erro de acesso com o módulo ITB-600 ou ITB520.
241 Erro operacional na rede INTERBUS.**Exemplo**: No bloco SCB de Iacesso aos I/O da rede NTERBUS, foi detectado um erro operacional na rede INTERBUS. Para identificar a falha da rede INTERBUS, deve-se analisar o subcódigo de retorno deste bloco SCB.
245 Módulo de expansão detectado no controlador incompatível.**Exemplo**: Ou módulo de expansão especificado na configuração de hardware do controlador NÃO é uma ITB-600 ou ITB520, ou o módulo de expansão existente no controlador NÃO é uma ITB-600 ou ITB520.

Para mais informações sobre os códigos de erro consulte a Tabela de códigos de retorno do controlador .

Entradas

Descrição das Entradas
Entrada Função Estado Descrição
A1 Ativação Inativo Neste estado o bloco não executa nenhuma ação, repassando apenas o estado inativo para a saída B1.
Ativo Neste estado o bloco executa a funcionalidade associada ao mesmo. OBS: Cabe ressaltar que, para o bloco SCB, esta entrada opera por transição ou seja, o bloco é executado apenas quando a entrada A1 muda do estado inativo para o estado ativo. Uma vez ativada, a entrada A1 deverá permanecer ativa até o término da execução da função que é sinalizado através da ativação da saída B1 do bloco.

Saída

Descrição das Saídas
Saída Função Estado Descrição
B1 Ativação/Falha Inativo A saída B1 sempre estará inativa se a entrada A1 estiver inativa. Quando a entrada A1 for ativada a saída B1 permanecerá inativa enquando o bloco estiver executando o comando associado indicando que o processo ainda não terminou.
Ativo Indica fim de execução do processo associado ao bloco. Para identificar se a função foi executada com sucesso é necessário examinar o parâmetro P4, que contém o código indicando o resultado da execução do processo associado. Para mais informações sobre os códigos disponíveis para esta função consulte a Códigos de Erros de P4

Obtendo Diagnóstico da Rede

O protocolo INTERBUS oferece recursos para identificar falhas que ocorrem na rede, antes ou durante o acesso aos dados de entrada e saída. O ambiente de programação disponibiliza operações para ativar comandos de diagnóstico da rede INTERBUS.

Essas operações estão presentes na janela “Especificações dos módulos da rede” ativada através do menu do ambiente de programação. A ativação do tab “Diagnóstico” ativa a tela apresentada na figura a seguir. Nesta janela, podemos identificar claramente a presença de dois blocos de informações: Configuração do Módulo e Status do Controlador da Rede.

../_images/diagnost_config_mod.png

Bloco de Configuração do Módulo

Este bloco possui os seguintes botões de comandos:

  • Lê Diagnóstico: Requisita ao módulo ITB600 ou ITB520 a ativação de um ciclo de Management no protocolo INTERBUS. Esse ciclo obtém informações detalhadas do estado dos módulos IB. Essas informações são imediatamente apresentadas na tabela Informações dos Módulos.
  • Zera Contador de Rede: Zera os contadores de erro associados a cada módulo presente na rede INTERBUS.

Campos da tabela

Os campos da tabela Informações dos Módulos possuem o seguinte significado:

  • Pos: posição do módulo na rede INTERBUS.
  • Ident: Esta coluna apresenta o INTERBUS identification Code associado ao módulo fisicamente presente nesta posição.
  • Lenght (bits): Esta coluna apresenta o número de bits ocupados pelo módulo num ciclo INTERBUS.
  • No Match: Indica se a identificação do módulo presente na rede INTERBUS é idêntica a identificação do módulo definida pelo usuário.
  • PF: Determina se o bit de status “Peripheral Fail”, presente no módulo, encontra-se ativo. Caso este bit esteja ativo, a linha associada nesta tabela será apresentada com fundo vermelho.
  • CRC: Indica erro de CRC nos dados transferidos pelo protocolo para o módulo associado. Os módulos que possuem este bit ativo possuem sua linha nesta tabela com fundo em vermelho.
  • Error Count Contador de erros nas transferências de dados associadas ao módulo. Esse contador é zerado no início de operação da placa e incrementando sempre que um erro de CRC é associado ao módulo.

Bloco Status do Controlador de Rede

A ativação de qualquer comando no módulo ITB600 ou ITB520 causa a imediata atualização do status do controlador. Esse status pode ser observado através do retorno do comando, ou de bits de informação presentes no módulo ITB600 ou ITB520.

Retorno da Execução de Comando

O retorno da execução de comando apresenta as seguintes informações:

  • Revisão do Fw: apresenta a revisão atual do firmware presente no módulo ITB600 ou ITB520.
  • Último IB Status: Apresenta o status da execução do último comando do protocolo IB executado pela pelo módulo ITB600 ou ITB520. Detalhes desses códigos podem ser obtidos na tabela 2.0 abaixo.
  • Cód Retorno: Apresenta os códigos de retorno dos comandos enviados pelo módulo processador para o módulo ITB600 ou ITB520. Note que a abrangência deste código é maior do que o apresentado pelo Último IB Status que restringe a códigos específicos do protocolo InterBus. Detalhes desses códigos podem ser obtidos na tabela 1.0 abaixo.

Status Geral de Funcionamento do Módulo ITB600 ou ITB520

Além de informações detalhadas do resultado da execução de cada comando, este bloco também apresenta um status geral de funcionamento do módulo ITB600 ou ITB520. As informações que podem ser obtidas nesse status são:

  • Invalid Setup: Indica falha na gravação do setup lógico presente na placa ITB600 ou ITB520. Para corrigir o problema configure novamente a rede e desligue o CLP. Em caso de reincidência do problema substitua a bateria presente no módulo ITB600 ou ITB520.
  • Initializing: Permanece ativo (em 1) durante a inicialização do módulo ITB600 ou ITB520.
  • Hw Fail: Indica falha grave de hardware do módulo ITB600 ou ITB520.
  • Inconsistent Config: A configuração lógica presente no módulo ITB600 ou ITB520 difere da configuração física identificada na rede INTERBUS.
  • IB Fail: Falha na execução de comandos do protocolo INTERBUS.
Código de retorno de comandos executados
Código Descrição
0 - SUCCESS Sucesso na execução do comando.
5 - RC_GL_INV_PAR Parâmetro(s) inválido(s).
6 - RC_GL_INV_CMD Comando inválido / não reconhecido.
180 - RC_DF_STATUS_ERR Erro no comando => status possui detalhes do erro.
181 - RC_DF_INV_STATE Estado atual do protocolo INTERBUS restringe execução de comandos.
182 - RC_DF_PENDENTE Já existe um comando pendente.
183 - RC_DF_NOT_IB Não é comando para o INTERBUS.
184 - RC_DF_INVALID_MOD Offset do módulo selecionado é nválido.
185 - RC_DF_SET_INVALID Falha na atualização do setup na memória flash.
Subcódigo de Erro Associado ao Protocolo INTERBUS
Código Descrição
0x0000 IBU_none_error - /* all right, Ok! */
0xF001 IBU_comno_is_not_open.
0xF002 IBU_comno_already_open
0xF003 IBU_comno_not_supported.
0xF004 IBU_function_not_active - /* not used */
0xF005 IBU_comresource_already_in_used.
0xF506 IBU_no_timer.
0xF507 IBU_memory_not_released.
0xF508 IBU_timer_not_released.
0xF009 IBU_no_of_recchar_not_supported.
0xF00A IBU_no_of_sendchar_not_supported.
0xF00B IBU_no_setup_started.
0xF00C IBU_parameter_invalid_range.
0xF00D IBU_parameter_not_supported.
0xF00E IBU_api_required_crc_error.
0xF101 IBU_baudrate_not_supported.
0xF102 IBU_parity_not_supported.
0xF103 IBU_stopbits_not_supported.
0xF104 IBU_databits_not_supported.
0xF105 IBU_frame_error.
0xF106 IBU_host_parity_error.
0xF107 IBU_ibs_uart_parity_error.
0xF108 IBU_send_error.
0xF109 IBU_receive_error.
0xF110 IBU_timer_already_run.
0xF111 IBU_timervalue_not_supported.
0xF112 IBU_timer_is_stopped.
0xF113 IBU_timer_timeout.
0xF114 IBU_000000000001 - /* a gab */
0xF120 IBU_serial_timeout.
0xF121 IBU_overrun_error.
0xF122 IBU_break_error.
0xFF00 IBU_reports - /* mascara p/ isolar LSB do status */
0xF201 IBU_too_many_char_received.
0xF202 IBU_delay_error.
0xF203 IBU_send_finished_and_rec_busy - /*?*/
0xF204 IBU_send_busy_and_rec_busy.
0xF205 IBU_send_busy_and_rec_finished.
0xF206 IBU_wrong_state_key.
0xF207 IBU_wrong_state_type.
0xF208 IBU_primitive_error.
0xF209 IBU_service_error.
0xF300 IBU_ibs_result_error - /* AND 0x00FF => veja detalhes :do byte na tabela 3.0*/
0xF301 BU_ibs_res_err_crc_lw_only.
0xF400 IBU_ibs_timeout.
0xF401 IBU_lbw_error.
0xF402 IBU_crc_error.
0xF403 IBU_no_devices_are_connected.
0xF404 IBU_no_valid_input_data.
0xF410 IBU_ibs_timeout_init_ri.
0xF411 IBU_ibs_timeout_init_bi.
0xF412 IBU_data_register_error.
0xF413 IBU_too_many_devices_conf_not_valid.
0xF414 IBU_too_many_io_points.
0xF415 IBU_too_many_errors.
0xF416 IBU_init_timeout.
0xF417 BU_too_many_devices_config_valid.
0xF421 IBU_ibs_loop_diag_not_stable.
0xF420 IBU_ibs_loop_diag_no_loop.
0xF501 IBU_fatal_errors.
0xF502 BU_receive_fail_confirmation.
0xF601 IBU_auto_input_sequence_error - // falha interna da máquina de estado do IB.
0xF602 IBU_auto_config_inconsistent - // configuração lógica do módulo ITB600 ou ITB520 difere física.
0xF603 IBU_auto_peripheral_fail - // identificado erro de periferia em um dos módulos.
0xFFFF IBU_undef_error.

Byte Associado ao Subcódigo de Status IBU_ibs_result_error (0xF300)

Byte associado ao subcódigo de status IBU_ibs_result_error (0xF300
Código Descrição
00h No error System is running perfectly.
01h CRC-Last way error Mismatch between received and calculated.
CR-Checksun A disturbance happened on the section supervised by IBS UART.
02h CR error CR-Flag mismatch in character header between sent and received character.
04h SL eroor SL-Flag mismatch in character header between sent and received character.
08h NOISE error
After expected emd of a FCS a “running after telegram” was detected by the IBS
UART hardware.
10h STOP error A STOP-bit error Instead of the expected “stop-bit” of an INTERBUS telegram a high signal was detected by the IBS UART hardware.
20h MAU Fail A statically “high”-signal was detected at the INTERBUS input (DIpin) for more than 64 bit times. This error occurs also if device is connected to the IBS UART.
40h Parity error A transmission error was detected by IBS UART hardware via the parity check bit on the serial asynchronous communication.
80h Service error Primitive not defined. - While sending the result byte another error was detected. - Primitive in the current state not allowed. E.g.: the IBS UART is still the “Reset” - state. Only the “ResetStop”- primitive or “set”- primitive are allowed.

Acesso à Rede INTERBUS

Para o acesso à rede INTERBUS, são necessários os seguintes itens:

  • Ambiente de programação, versão 1.4.05 ou superior.
  • Firmware especial do controlador versão 1.37 ou superior. Este firmware especial é identificado pelo prefixo “CT91” e deve ser solicitado ao: fabricante, sem custo adicional.
  • Módulo de expansão :ITB-600 ou ITB520 para controlador, sendo o ITB600 para equipamentos com firmware GI e o ITB520 para equipamentos com firmware GII.