Funções Especiais de Acesso ao Sistema de Arquivos¶
| Bloco de Controle Padrão | |
| Função | Funções Especiais de Acesso ao Sistema de Arquivos |
| Código | 34 |
| Caminho | Programa/Editor Ladder/Elementos/Especiais/Bloco de controle Padrão |
| Grupo | Especiais |
| Ícone | ![]() |
| Tabela de compatibilidade de firmwares | |
| Geração de Firmware | G3S |
As funções descritas aqui são funções mais complexas que fazem uso do Sistema de Arquivos disponível no controlador. Para ter acesso as funções atômicas do Sistema de Arquivos, acesse Acesso ao Sistema de Arquivos.
Carregar arquivo de Parâmetros¶
Esta função carrega parâmetros no controlador, os parâmetros são descritos em um arquivo “csv” seguindo uma especificação própria, descrita abaixo. O bloco abre o arquivo, realiza o processamento no arquivo, obtendo cada parâmetro e atribuindo-o ao controlador. Após processar todos os parâmetros ou encontrar um mal especificado fecha o arquivo.
| Carregar arquivo de Parâmetros | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso ao sistema de arquivos. Deve ser uma constante inteira (Knn) cujo valor deve ser 34. |
| P2 | M | M[x + 0] | Código da função “Load Parameters” = código 105. |
| M[x + 1] | Identificador da variável string do tipo X, cujo
conteúdo especifica o nome do arquivo ser aberto. Obs . |
||
| P3 | M | M[y + 0] | Retorna a quantidade de linhas processadas. |
| 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 Tabela de códigos de retorno do controlador. |
Especificação do arquivo¶
O arquivo que contém os parâmentros deve ser um arquivo “csv” padrão. Cada linha deve conter apenas um parâmetro, não sendo aceito outros campos, como por exemplo um comentário.
<Letra que identifica o tipo><Separador de Campo><Indice do parâmetro><Separador de Campo><Valor do Perâmetro><Separador de Campo>
Letra que identifica o campo:
| R | Memóricas do tipo R do controlador |
| M | Memóricas do tipo M do controlador |
| D | Memóricas do tipo D do controlador |
| L | Memóricas do tipo L do controlador |
| F | Memóricas do tipo R do controlador |
Indice do parâmetro: Indice de acesso ao parâmetro.
Valor do Perâmetro: Valor que deve ser atribuído ao parâmentro
Separador de Campo: O separador de campo é dado pela configuração da aplicação ladder que está rodando.
Exemplo de Arquivo válido:
R,1,1,
R,2,0,
M,10,789,
M,11,526,
M,10,789,
D,11,1.365,
D,10,556.9,
L,11,365512,
L,10,25488,
Nota
Deve se manter o bloco SCB ativado até o final de sua execução, ou seja, até o momento em que a saída é energizada
Códigos de Erro de P4¶
| Códigos de Erros de P4 | |
|---|---|
| Código | Descrição |
| 0 | Função executada com sucesso. Nenhuma falha identificada no processo. |
| 4 | Controlador não possui o hardware que corresponde ao Sistema de Arquivos. É necessário atualizar o hardware. Exemplo: Chamada da função “Open File” e o controlador não possui suporte para Sistema de Arquivos. |
| 5 | Parâmetros inválidos passados para a função de acesso ao sistema de arquivo. Exemplo: Código do identificador (handle) inválido para acesso ao sistema de arquivo. |
| 6 | Função inválida de acesso ao sistema de arquivo. Exemplo: Código da função de acesso ao sistema de arquivo inválido. Por exemplo, um código de função diferente de “Create File”, “Open File”, “Read Variable”, “Read Variable”, etc. |
| 7 | Função não implementada no sistema de arquivo. Exemplo: Código da função de acesso ao sistema de arquivo não disponível na versão corrente do sistema de arquivo. |
| 16 | Não é uma situação de erro, significa que a operação solicitada foi iniciada mas ainda não foi concluída. O resultado da operação está pendente. |
| 17 | Senha inválida foi fornecida na abertura de arquivo (“Open File”). Exemplo: O SPDSW criou um arquivo com senha de acesso e a aplicação Ladder tentou ler o arquivo sem fornecer a senha (ou vice-versa). |
| 24 | Programa Ladder não está com o acesso ao sistema de arquivo disponível. Outro aplicativo está acessando o mesmo, por exemplo, o aplicativo SPDSW, ou algum coletor de dados. |
| 26 | Atingido limite de arquivos suportado pelo sistema de arquivos. Exemplo: Chamada da função “Create File” e o sistema de arquivo está com a capacidade máxima de arquivos. |
| 27 | Sem dados disponíveis para acesso. Exemplo: Chamada da função “Read File” e o arquivo está vazio, ou não existem mais dados para serem lidos (atingiu o final do arquivo). |
| 31 | Erro no acesso à leitura do arquivo no sistema de arquivo. Exemplo: Chamada da função “Read” e ocorreu erro no acesso a leitura no arquivo no sistema de arquivo. |
| 32 | Erro no acesso à escrita do arquivo no sistema de arquivo. Exemplo: Chamada da função “Write” e ocorreu erro no acesso a escrita do arquivo no sistema de arquivo. |
| 33 | Sistema de arquivo não está formatado. Exemplo: Chamada da função “Open File” e sistema de arquivo não está inicializado e formatado. Deve-se realizar uma formatação do Sistema de Arquivos para inicialização, por exemplo, através do aplicativo SPDSW. |
| 34 | Sistema de arquivo está em processamento de alguma outra função de acesso ou está em processo de inicialização. Exemplo: Chamada da função “Write” logo no primeiro ciclo de scan do controlador, pois o Sistema de Arquivos necessita de um tempo inicial para sua respectiva inicialização. Exemplo: Aplicação Ladder solicita operação, mas o sistema de arquivos está ocupado executando solicitação prévia do aplicativo SPDSW. |
| 165 | Falha na alocação de recursos internos do controlador para a gerência do sistema de arquivos. |
| 166 | Falha na operação de apagar uma página do Sistema de Arquivos do controlador. |
| 167 | Sistema de arquivos corrompido. O usuário deve tentar recuperar os arquivos existentes, mas não há garantia de sucesso nesta operação, e a seguir, o sistema de arquivos deve ser formatado novamente para retornar a um estado consistente. |
| 168 | Função de acesso ao arquivo incompatível com modo de acesso especificado para o arquivo. Por exemplo, abriu arquivo no modo de escrita, e está realizando operação de leitura, e vice-versa. |
| 169 | Sistema de arquivos parcialmente corrompido. O usuário deve tentar apagar os arquivos comprometidos, e se o erro persistir após a remoção de arquivos suspeitos de corrupção será necessário formatar o Sistema de Arquivos para retornar a um estado consistente. |
| 170 | Arquivo está aberto para acesso a escrita, não permitindo a realização da função especificada. |
| 173 | Nome de arquivo inválido ou excede o limite de 48 caracteres. |
| 174 | O arquivo solicitado não foi encontrado. Isso significa que o parâmetro de identificação do arquivo (nome ou índice ou handle) está com valor incorreto. |
| 175 | Tentativa de criar um novo arquivo utilizando um nome de arquivo que já existe no sistema de arquivos, logo um nome diferente deve ser escolhido para o novo arquivo, ou o arquivo pré-existente deve ser apagado antes da criação do novo arquivo. |
| 176 | Tentativa de abrir um arquivo quando o limite de arquivos abertos já foi atingido. É necessário fechar um ou mais arquivos antes que seja possívelabrir um novo arquivo. |
| 177 | O valor do parâmetro handle, que identifica um arquivo aberto não corresponde a nenhum arquivo efetivamente aberto. |
| 205 | Base de dados associada à variável R, M, D, L ou X, acessada na base de dados de aplicação, não possui nenhuma variável alocada. Exemplo: Solicitar a leitura de dados de um arquivo e as variáveis R, M, D, L ou X indicadas como destino dos dados não possuem nenhuma variável alocada na base de dados da aplicação. Por exemplo,solicitou a leitura de um registro de dados composto por variável M e X, e não existe base de variáveis X alocadas na aplicação Ladder. Exemplo: Solicitar a escrita de dados em um arquivo e as variáveis R, M, D, L ou X indicadas como origem dos dados não possuem nenhuma variável alocada na base de dados da aplicação. Por exemplo, solicitou a escrita de um registro de dados composto por variável R e X, e não existe base de variáveis X alocadas na aplicação Ladder. |
| 206 | Variável R, M, D, L ou X acessada na base de dados de aplicação não está alocada. Exemplo: Solicitar a leitura de dados do arquivo e nem todas as variáveis R, M ou D indicadas como destino dos dados estão alocadas na base de dados da aplicação. Por exemplo, solicitar a leitura de 100 memórias M que serão salvas nas memórias M200 a M299, mas na base de dados da aplicação têm-se alocadas até a memória M250. Exemplo: Solicitar a escrita de dados do arquivo e nem todas as variáveis R, M ou D indicadas como origem dos dados estão alocadas na base de dados da aplicação. Por exemplo, solicitar a escrita de 50 memórias D, cujos valores estão nas memórias D100 a D149, mas na base de dados da aplicação têm-se alocadas até a memória D120. |
| 215 | Sem dados disponíveis para acesso. Exemplo: Especificar uma variável string para um nome de arquivo, e a mesma não foi alocada no controlador ou está como uma string nula, representando um nome de arquivo inválido ou nulo. |
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 tabela de Códigos de Erro de P4 . | ||


