FS_GET_SPACE
Obtém informações sobre o espaço do sistema de arquivos do SDCARD (memória total, livre, usada, com defeito e total de arquivos na raiz), exigindo um controlador com suporte a sistema de arquivos no SDCARD. É um bloco de função (mantém estado entre scans; requer instância).
Biblioteca: HI_STD · Namespace: HILS · Tipo: bloco de função
Bloco de função
FS_GET_SPACE
+----------------------+
BOOL ----|START DONE|---- BOOL
| |
| RESULT|---- INT
| |
| SD_MEM_TOTAL|---- ULINT
| |
| SD_MEM_FREE|---- ULINT
| |
| SD_MEM_USED|---- ULINT
| |
| SD_MEM_BAD|---- ULINT
| |
| ROOT_TOT_FILES|---- INT
+----------------------+
A execução é iniciada ao colocar START em TRUE. Caso START volte a FALSE antes do
término, o bloco é resetado. O fim da operação é sinalizado por um pulso de um scan em
DONE; nesse ciclo o resultado deve ser consultado em RESULT (SUCCESS = 0 indica
sucesso). As demais saídas trazem os tamanhos em bytes e a contagem de arquivos da raiz.
ROOT_TOT_FILES contabiliza apenas os arquivos existentes no diretório raiz (não conta
subdiretórios nem pastas); o valor -1 indica erro na contabilização. Para contar os
arquivos de um diretório específico utilize FS_DIR_INFO.
Nota
Antes de utilizar este bloco de função, consulte no manual do controlador utilizado se o mesmo possui suporte para sistema de arquivos no SDCARD.
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
START |
IN |
BOOL |
FALSE |
— |
Ativação da função. Em TRUE inicia a execução; se voltar a FALSE antes do fim, reseta o bloco. |
DONE |
OUT |
BOOL |
FALSE |
— |
Pulso de um scan indicando o término da execução. Consulte |
RESULT |
OUT |
INT |
0 |
RET_CODE |
Código de retorno da execução (ver Códigos de retorno). |
SD_MEM_TOTAL |
OUT |
ULINT |
0 |
bytes |
Tamanho total do cartão de memória do SDCARD. |
SD_MEM_FREE |
OUT |
ULINT |
0 |
bytes |
Quantidade de memória livre no cartão de memória do SDCARD. |
SD_MEM_USED |
OUT |
ULINT |
0 |
bytes |
Quantidade de memória utilizada no cartão de memória do SDCARD. |
SD_MEM_BAD |
OUT |
ULINT |
0 |
bytes |
Quantidade de memória com defeito no cartão de memória do SDCARD. |
ROOT_TOT_FILES |
OUT |
INT |
0 |
— |
Total de arquivos criados na pasta raiz do sistema de arquivos no SDCARD ( |
Códigos de retorno
RESULT é do tipo RET_CODE. Use os identificadores com o namespace HILS
(ex.: HILS.RE_NOT_AVA). Códigos mais comuns deste bloco:
Código |
Identificador |
Significado |
|---|---|---|
0 |
SUCCESS |
Função executada com sucesso. |
5 |
GL_INV_PAR |
Parâmetro(s) inválido(s). |
7 |
GL_UNA_CMD |
Comando não disponível ou não implementado. |
8 |
GL_INV_STT |
Estado corrente inválido. |
11 |
GL_CMD_CAN |
Comando cancelado. |
16 |
GL_CMD_PEND |
Tratamento do comando pendente. |
24 |
RE_NOT_AVA |
Sem suporte para o sistema de arquivos ou SDCARD não detectado. |
25 |
RE_INV_LEN |
Tamanho do buffer do recurso inválido. |
33 |
RE_NOT_INIT |
Recurso não inicializado. |
34 |
RE_BUSY |
Recurso ocupado (em processamento). |
167 |
FS_CORRUPT |
Sistema de arquivos pode estar corrompido. |
174 |
FS_NOTFOUND |
O arquivo não foi encontrado. |
Lista completa dos códigos de retorno: RET_CODE - Códigos de retorno do firmware G5.
Pré-condições
O controlador deve possuir suporte a sistema de arquivos no SDCARD.
O SDCARD deve estar presente e detectado (caso contrário
RESULTretornaRE_NOT_AVA).
Observações
DONEfica ativo por apenas um ciclo de scan; leiaRESULTe as saídas de memória nesse ciclo.Os tamanhos de memória são expressos em bytes.
ROOT_TOT_FILESnão contabiliza subdiretórios; para um diretório específico use FS_DIR_INFO.
Ver também
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
MY_START : BOOL := FALSE; (* Ativação da função *)
GET_SPACE : HILS.FS_GET_SPACE; (* Instância do bloco "FS_GET_SPACE" *)
END_VAR
(* Preenche parâmetros para a chamada do bloco de função *)
MY_START := TRUE; (* Ativação do bloco da função *)
(* ... *)
(* Exemplo de ativação do bloco de função FS_GET_SPACE *)
GET_SPACE(
START := MY_START (* [BOOL] Ativação da função *)
);
(* Aguarda término da execução da função do sistema de arquivos *)
IF GET_SPACE.DONE THEN
MY_START := FALSE; (* reseta ativação da função *)
(* Testa código de retorno da execução da função *)
IF GET_SPACE.RESULT = HILS.SUCCESS THEN
(* ... Função executada com sucesso.
As informações podem ser acessadas conforme abaixo:
GET_SPACE.SD_MEM_TOTAL = Tamanho total do SDCARD [bytes]
GET_SPACE.SD_MEM_FREE = Memória livre no SDCARD [bytes]
GET_SPACE.SD_MEM_USED = Memória utilizada no SDCARD [bytes]
GET_SPACE.SD_MEM_BAD = Memória com defeito no SDCARD [bytes]
GET_SPACE.ROOT_TOT_FILES = Total de arquivos na pasta raiz do SDCARD *)
ELSE
(* ... Erro na execução da função *)
END_IF;
END_IF;
(* ... *)