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 | ![]() |
| 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, 
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.
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 |
|
| 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.