Ao tentar ler arquivos de entrada (I1) ou escrever em arquivos de saída (O0), ocorrem erros de comunicação, sendo possível observar o registro do seguinte erro no log do driver:
slc_logical_read error: AB_command returned error in status = 10!
Nota: Os tags afetados são os tags que referenciam os arquivos O0 ou I1. Se os tags forem configurados através dos parâmetros N e B, sem endereçamento hexadecimal, por exemplo, serão aqueles tags onde N1 e/ou B1 tem valores 0 ou 1, mais o endereço do CLP multiplicado por 1000. Esse método de endereçamento é o mais antigo neste driver, e será tomado como base nos exemplos de endereçamento de tags deste artigo. Vamos supor também que o endereço do CLP é nulo. Para informações sobre os demais métodos de endereçamento, no caso o endereçamento hexadecimal ou por strings, consulte o manual do driver.
Solução:
A depender do modelo ou versão do equipamento, o endereçamento dos arquivos de entrada ou saída pode apresentar diferenças de formatação numérica.
Recomenda-se o mapeamento das entradas e saídas para tipos inteiros no ladder do CLP, de forma que o driver da Elipse não precise acessar diretamente os arquivos de entradas e saídas.
A figura a seguir mostra trecho de um aplicativo exemplo, que mapeia a entrada I:0.0 para o elemento inteiro N7:10, e a saída O0:0.0 para o elemento inteiro N7:11.
Note que no primeiro e no segundo RUNG são usadas funções MOVE para mapear os bits do cartão de entrada (I:0.0) para elementos de arquivo de inteiros (N7:10), e no segundo a instrução MOVE é usada para mapear a posição N7:11 para os bits do cartão de saída (O:0.0). Ou seja, a cada ciclo do CLP esses valores serão transferidos, de forma que o usuário do driver só precise acessar os valores N7:10 e N7:11 (tags N1=7, N2=7, N3=10, N4=0 e/ou N1=7, N2=7, N3=11, N4=0), sem precisar acessar diretamente os bits I:0.0 ou O:0.0 (tags N1=1, N2=1, N3=0, N4=0 e/ou N1=0, N2=0, N3=0, N4=0).
Além de simplificar o endereçamento, a técnica de mapeamento torna a manutenção da aplicação mais simples, pois no caso de troca ou queima de entradas ou saídas pode-se facilmente mapear a aplicação para usar pontos de I/O alternativos, realizando-se alterações em apenas 1 RUNG do ladder, e mantendo o restante da aplicação inalterada.