FS_GET_INFO

Obtém informações gerais do sistema de arquivos do SDCARD do controlador (revisão, capacidade e uso de arquivos abertos, tamanho máximo de nome). Requer que o controlador tenha 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_INFO
         +----------------------+
BOOL ----|START             DONE|---- BOOL
         |                      |
         |                RESULT|---- INT
         |                      |
         |           FS_REVISION|---- INT
         |                      |
         |        MAX_OPEN_FILES|---- INT
         |                      |
         |        CUR_OPEN_FILES|---- INT
         |                      |
         |          MAX_LEN_NAME|---- INT
         +----------------------+

Ative START (TRUE) para iniciar a execução; se START voltar a FALSE antes do término, o bloco é resetado. A conclusão é sinalizada por um pulso de um scan em DONE; nesse ciclo, consulte RESULT para o código de retorno e leia as demais saídas com as informações do sistema de arquivos.

FS_REVISION codifica a revisão em dois campos: a revisão menor nos bits 0..4 (0..31) e a revisão maior nos bits 5..7 (0..7). Exemplo: FS_REVISION = 35 indica revisão menor 3 (bits 0..4) e revisão maior 1 (bits 5..7 deslocados para 0..2).

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 (TRUE) a execução do bloco; retornar a FALSE antes do término reseta o bloco.

DONE

OUT

BOOL

FALSE

—

Pulso de fim de execução (ativo por um scan); ao pulsar, leia RESULT e as saídas de informação.

RESULT

OUT

INT

0

RET_CODE

Código de retorno da execução (ver Códigos de retorno).

FS_REVISION

OUT

INT

0

—

Revisão do sistema de arquivos (menor nos bits 0..4, maior nos bits 5..7).

MAX_OPEN_FILES

OUT

INT

0

—

Capacidade de arquivos abertos simultaneamente (leitura e escrita).

CUR_OPEN_FILES

OUT

INT

0

—

Quantidade de arquivos atualmente abertos (leitura e escrita).

MAX_LEN_NAME

OUT

INT

0

—

Tamanho máximo para nome de arquivo ou diretório.

Códigos de retorno

RESULT é do tipo RET_CODE. Use os identificadores com o namespace HILS (ex.: HILS.SUCCESS). 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.

33

RE_NOT_INIT

Recurso não inicializado.

34

RE_BUSY

Recurso ocupado (em processamento).

167

FS_CORRUPT

Sistema de arquivos pode estar corrompido.

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 (consulte o manual do controlador utilizado).

  • O SDCARD deve estar presente e inicializado.

Observações

  • DONE fica ativo por apenas um ciclo de scan; capture os valores das saídas nesse ciclo.

  • FS_REVISION é um valor codificado: separe a revisão menor (bits 0..4) da maior (bits 5..7) para interpretá-lo.

Ver também

FS_GET_SPACE, FS_FORMAT, FS_LIST_DIR

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    MY_START : BOOL := FALSE;      (* Ativação da função *)
    GET_INFO : HILS.FS_GET_INFO;   (* Instancia do bloco "FS_GET_INFO" *)
END_VAR

(* Preenche parâmetros para a chamada do bloco de função *)
MY_START := TRUE;                  (* Ativação do bloco da função *)

(* Ativação do bloco de função FS_GET_INFO *)
GET_INFO(
  START := MY_START                (* [BOOL] Ativação da função *)
  );

(* Aguarda término da execução da função do sistema de arquivos *)
IF GET_INFO.DONE THEN

  MY_START := FALSE;               (* reseta ativação da função *)

  (* Testa código de retorno da execução da função *)
  IF GET_INFO.RESULT = HILS.SUCCESS THEN
    (* ... Função executada com sucesso *)
  ELSE
    (* ... Erro na execução da função *)
  END_IF;

END_IF;